Dinámica Poblacional

El estudio de la Dinámica Poblacional tiene como objetivo desarrollar conocimiento los patrones y processos intra-especifica y entre-especies. Tradicionalmente muchos de los trabajos de dinamica poblacional se enfocarón en los estudios intra-especifica, fomentando una perpestiva que las especies no enteractuan con su ambiente biotico.

Objetivo del libro:

Este libro digital

¿Qué es el analisis de dinamica poblacional?

Por: Por RLT, Nhora Ospina, Demetria y Anne …..


El objetivo de la conservación biológica es asegurar que las especies pueden sobrevivir, reproducirse y dejar progenie viable para de una generación a otra. Por consecuencia se necesita que las variables intrinsicas y extrinsicas, bioticas y abioticas de cada especies estén considerado con todas sus interacciones. Naturalmente aunque el concepto es sencillo, tomar en cuanta TODAS las posibles interacciones biológicas y abióticas es imposible.
El primer paso a la conservación es considerar el ambiente adecuado para cada especie. Sin duda en los ultimos 50 años en muchos paises ha habido un cambio grande en el repesto y la conservaciones de bosque, pradera, desierto y todos los biomas en general. Por ejemplo el cambio de cobertura de bosque en Puerto Rico ha aumentado de circa de 2-5% en los años 1910 a más 40% en el 2000 (Parés-Ramos, Gould, and Aide 2008). En general en Latino América ha habido más reforestación de deforestación (Aide et al. 2013) en los ultimos años, aunque varia mucho entre paises y periodo de tiempo. Para la conservación el primer paso era reconocer que los habitat necesitan ser protegido.
Muchos de estos nuevos hábitat son bosque segundarios, fragmentados y dominado por especies introducidas. Estos habitat por consecuencia son mayormente diferentes al ambiente natural antes de los cambios antropogénicos. El resultado, en muchas ocasiones, es que la especies de interes están reducida en números de individuos o fragmentados. Considerando esos remanentes de individuos en el habitat, son suficiente para mantener una población viable? ¿Como que uno decide que una población es viable?

En general, el conceptos de conservación es que si uno proteje los habitat las especies estarán conservadas. Pero lo que no es obvio es que la presencia de muchos individuos no es suficiente para asegurar la supervivencia de una especies a largo tiempo. Un ejemplo bien conocida es la extincción del Dodo en la isla de Mauritius y la casi extinción de una especies de arbol en la familia Sapotaceae, Calvaria major. Para que la semillas sean viable necesitan pasar por el tracto digestivo de un pajaro para remover el encocarpo persitente de la semilla que causa “dormancy” en las semillas (Temple 1977). Por consecuencia nunca se puede asumir que la presencia de una especies sin tomar en cuenta las interacciones bióticas y abióticas es suficiente para sugerir que no hay riesgo de extincción.

¿Qué es el estudio de la dinamica poblacional?

La dinámica poblacional tiene como meta tomar en cuenta todas las etapas/edades de una especies y evaluar cual de esas etapas/edades tiene impacto sobre la supervivencia de la especies. Esas etapas de vida debería considerar las interaciones con sus ambiente biotico y abiotico. La dinamica de población es fundamental en todas las areas de la ecología y evolución. Comprender la dinamica poblacional es la clave para entender la importancia relativa al aceso de los recursos y el efecto de competencia, herbivoria y depredaciones sobre la viablidad de especies. Tradicionalmente los estudios estaban enfocado a evaluar la tabla de vida para el manejo y conservaciones de especies particulares (ref). En años más recientes los estudios se han diversificado para evaluar la interacciones entre especies y su ambiente (ref).

Definición

Una definición más especifica de los estudios de dinámica poblacional son definidos como los análisis de los factores que afecten el crecimiento, estabilidad y reducción en el tamaño de la población en una serie de tiempo.

Por ejemplo, la dinamica poblacional de especies invasivas incluye un periodo de crecimiento muy lento al comienzo de la colonización de un nuevo sitio y frecuentamente siguido de un crecimiento logarithmico. La figura @ref(fig:Pop-fig). demuestra el cambio de número de individuos en el tiempo de una especie hipotética.

ggplot(pressure, aes(temperature, pressure))+
  geom_point()+
  rlt_theme+
  xlab("Tiempo")+
  ylab("Tamaño poblacional")
Cambio poblacional en tiempo

Cambio poblacional en tiempo

El analisis de Dinámica Poblacional y su uso

Determinar el tamaño poblacional en el futuro tiene muchos usos. Se puede dividir sus usos en tres grupos grandes, entender las 1) interacciones ecológicas, 2) manejo y conservaciones o 3) los procesos evolutivos. Los estudios enfocado a la conservación se engloba dentro de un acercamiento de la viablidad de poblaciones. En este libro estaremos dando una introducción a cada uno de estas vertientes, pero nuestros ejemplos son una introducción al tema y no una profundización extensa de cada uno. En la table @ref(USO) vemos algunos de los usos especificos que se ha dado con la metodología de PPM.

Tabla: El uso potencial de la diferentes acercamiento de PPM.

NOTA IMPORTANTE: Evaluar las referencias y añadir referencias tradicionales y recientes

Categoria de Uso Uso especifico Referencias Referencias con Oquideas
Manejo Identificar las etapas or procesos demograficos claves (Crouse, Crowder, and Caswell 1987) ?
Determinar cuantos individuos en una población es necesario para reducir la extinción Shaffer 1981 Armbruster & Lande 1993 ?
Determinar cuantos individuos se necesita introducir en una sitio para establecer una población viable Bustamante 1996 ?
Determinar cuantos individuos se puede extraer si tener un impacto negativo sobre la viabilidad de una población Nantel et al. 1996 ?
En especies invasivas determinar cuantos y cual etapas se necesita remover para controlar la población ? ?
Determinar cuantas pobalciones se necesita para la viabilidad de una especie al nivel local o global Lindenmayer & Possingham 1996
Evaluación de riesgos Evaluar el riesgo de una población Samson 1985 muchos
Comparando el riesgo relativo de dos o más poblaciones Allendrof et al. 1997 ?
Interacciones ecologicas Evaluar interacciones ecológicas para entender las variables importantes para la supervivencia de una población ? Ospina et al., 2022
Procesos y patrones evolutivos Cual de los procesos y patrones evolutivos del ciclo de vida de especies impacta su crecimiento ? ?

USO 1: Identificar las etapas or procesos demográficos claves

Identificar y conocer cuales son las etapas de vida más suceptibles a cambios abioticos y bioticos y su impacto sobre la persistencia de una población es necesario para el manejo. El ejemplo clásico en la literatura usando PPM son los trabajos sobre la dinámica poblacional de la tortuga “boba” o “cabezona” Caretta caretta (Crouse, Crowder, and Caswell 1987), (Crowder et al. 1994). Crouse y Crowder demostrarón que aun salvando TODOS los huevos de depredación, esa estrategia de manejo antropogenico iba a tener muy poco impacto en el crecimiento de la población. Lo que econtrarón es que el impacto más grande sobre el crecimiento poblacional provendría de proteger los adultos de las redes de pesca, modificando estas para que las tortugas se pueden escapar y no ahogarse en las redes. Los trabajos de Crouse y Crowder fueron pioneros en demostrar que uno podía simular diferentes escenarios basado en la historia de vida y evaluar su impacto.

Ejemplo de orquidea AQUI

USO 2: Determinar cuantos individuos en una población es necesario para reducir la extinción

El efecto de tamaño poblacional sobre la biología y la probabilidad de extincción es amplia (Shaffer and Samson 1985), (Nunney and Campbell 1993), (Harris et al. 2022). ¿Cual es la probablidad de extincción de una población considerando la cantidad de individuos en cada etapa? En general lo que se observa es que menor el tamaño poblacional, N, mayor es el riesgo de extincción. Esa probabilidad de extincción puede variar si algunas etapas del ciclo de vida tiene es muy reducido o su probabilidad de sobrevivir o crecer varia. Consideramos por ejemplo en las orquídeas donde la probabilidad de que las semillas se establece, germina y crezca a a ser un juvenil es muy pequeña. Por consecuencia una nueva población de orquidea necesita considerar la cantidad de individuos que este presente pero tambien la probabilidad de tener semillas y que estas pueden crecer a ser adultos reproducible.

USO 3: Determinar cuantos individuos se necesita introducir en una sitio para establecer una población viable

Naturalmente, más cantidad de individuos re-introducido en un sitio mayor sera la probabilidad que la población sea viable. Pero, como todo hay un limite de tiempo y esfuerzo disponible. Por consecuencia la pregunta debería ser orientado a determinar cual es el minimo de individuos que se deberia introductir para garantizar un x porciento de suceso en el establecimiento de una nueva población.

En los ultimos años, muchas organizaciones y cientificos han comenzado a hacer re-introducción de especies en su habitat nativo y no. (ref). Algunos programa introduce especies en areas urbanas.

  • Caladenia
  • Korea
  • one million orchids project
  • ????

USO 4: Determinar cuantos individuos se puede extraer sin tener un impacto negativo sobre la viabilidad de una población

Hay tres razones principales para la extracción de individuos de su ambiente natural.

  1. Obtener individuos para la conservación Ex Situ.
  2. Usar un grupo de individuos para su propagación.
  3. Extraccíon para la venta sin objetivo de conservación.

El supuesto de colectores de orquidea de su habitat naturales, tanto para la conservación de Ex situ y el uso para la propagación es que el impacto es minimo, y no tendrá impacto a largo plazo para la supervivencia. Regresaremos sobre este punto más tarde. La historia de fanatisismo de recolección de orquideas para la venta es bien conocida ref(). Aun que uno quisiera pensar que estas extracciones son del pasado y no occuren hoy en dia, hay todavia escrupulos que extraen los plantas sin pensar al impacto que tendrá sobre la población o especie.

Pero la pregunta se tiene que hacer. Cuantos individuos y de que etapas se puede extraer de la población sin tener impacto en el crecimoento poblacional?

USO 5: En especies invasivas determinar cuantos y cual etapas se necesita remover para controlar la población.

USO 6: Evaluar el riesgo de una población

USO 7: Determinar cuantas poblaciones se necesita para la viabilidad de una especie al nivel local o global

Dinamica de metapoblaciones.

USO 8: Comparando el riesgo relativo de dos o más poblaciones

USO 9: Evaluar interacciones ecológicas para entender las variables importantes para la supervivencia de una población

USO 10: Cual de los procesos y patrones evolutivos del ciclo de vida de especies impacta su crecimiento

Historia de dinamica poblacional en orquideas.

Referencias

Qué es un diagrama de Ciclo de Vida

Por: Nhora Ospina

Ejemplos de ciclos de Vida

Escribo algo

Ejemplos de un ciclo de vida sencillo

Tengo mucho texto que ampliar

Ejemplo de un ciclo de vida con 3 estadios

library(Rage)
# hidden code to produce figures
library(DiagrammeR)
matA <- rbind(
  c(0.0, 0.0, 3.2),
  c(0.5, 0.3, 0.8),
  c(0.0, 0.4, 0.9)
)
stages <- c("seedling", "rosette", "flowering")
title <- NULL
graph <- expand.grid(to = stages, from = stages)
graph$trans <- round(c(matA), 3)
graph <- graph[graph$trans > 0, ]
nodes <- paste(paste0("'", stages, "'"), collapse = "; ")
graph$min_len <- (as.numeric(graph$to) - as.numeric(graph$from)) * 3
graph$col <- c(
  "PaleGreen4", "PaleGreen4", "PaleGreen4", "Goldenrod1",
  "MediumOrchid4", "PaleGreen4"
)
edges <- paste0("'", graph$from, "'", " -> ", "'", graph$to, "'",
  "[minlen=", graph$min_len,
  ",fontsize=", 10,
  ",color=", graph$col,
  ",xlabel=", paste("\"", graph$trans),
  "\"]\n",
  collapse = ""
)
grViz(
  paste(
    "
digraph {
  {
    graph[overlap=false];
    rank=same;
    node [shape=", "egg", ", fontsize=", 12, "];",
    nodes, "
  }",
    "ordering=out
  x [style=invis]
  x -> {", nodes, "} [style=invis]", edges,
    "labelloc=\"t\";
  label=\"", title, "\"
}"
  )
)

Ejemplo de un cicle de vida con estadio de latencia

plot_life_cycle(matA, stages=stages, fontsize = 0)

Code for color coding figure

http://rich-iannone.github.io/DiagrammeR/

Ejemplo de un cicle de vida con estadio de post reproducción

Ejemplo de un cicle de vida incompleto (y biologicamente erroneos)

Referencias

Como recopilar datos en el campo

Por: Raymond L. Tremblay y Aucencia

Identificar la especie de estudio

Para cualquier studio usando el acercamiento de dinamica poblacional es necesario conocer lo básico de la especie de interes y las etapas/edades que corresponde al ciclo de vida de esa misma. Poder reconocer las semillas, plántulas, juveniles y adultos y si hay etapas latentes. Algunos retos en en el estudio de las orquideas es el siguimiento de las semillas y plántulas en el campo. La dispersión de las semillas en espacio ha sido estudiado muy poco ( Sabat. et al. ) debido a sus tamaños tan pequeños y dificultad de seguir en el espacio. Los métodos de seguir las semillas en su ambiente natural incluye tipicamente ponerlos en una malla y ponerlos en el suelo o la corteza y recogerlos más tarde para ver si estas germinaron (ref).

Identificar plántulas en orquídeas terrestres tiende también a ser muy complidado, ya que están escondidas entre vegetación o cubierta de tierra. La orquideas epitifas, en ciertas especies se puede identificar las plántulas (si no están cubierta de musgo o otra vegetación), pero distinguir entre plántuls de diferentes especies puede ser imposible. Por ejemplo distinguir las plántulas de diferentes especies de Lepanthes en el mismo forofito no es posible (Tremblay comunicación personal). El método de identificar a que especie pertenece fue de seguir estos individuos a las otras etapas (junenil o adulto). Por ejemplo la forma de crecimiento del tallo es diferente entre Lepanthes eltoroensis (prostate) versus Lepanthes woodburyana (erect). Por consecuencia idividuos que no sobreviven a la próxima etapa no se sabe a que especie pertenece.

Marcar los individuos en el campo

Los calidad de los métodos de marcar plantas en el campo para evaluación posterior es primordial para los análisis de dinámica poblacional. Como se marca y cual es la calidad del marcador para detectar y re-evaluar los individuos en años subsiguiente afecta la calidad de los datos. Si los marcadores individuales se pierden y no se reconoce ese problema, los individuos perdidos por marca no permanente se podría categorizar como muerto, y ese individuo no marcado (por haber perdido su identificación) pudiese ser interpretado como un nuevo individuo (reclutamiento). Eso resulta en aumento en mortandad y reclutamiento, sesgando los resultados. Naturalmente, ese sesgo depende de la frecuencia proporcional al tamaño de muestra, menor el tamaño de muestra mayor el sesgo.

El marcados tiene que ser permanente (plástico, metal, etc.) y fácil de encontrar en adición de ser informativo y único para cada planta y reducir las incertidumbres. La dificultad muchas veces proviene de individuos donde los datos son recopilados con numeración similares. Esos problemas muchas veces encuentra años después cuando se quiere re-evaluar los datos y no hay manera aclarar las dudas.

Métodos de marca y recaptura

Indentificaciones de individuos

Cada planta tiene que tener si propia identificación y que no haya confusión con otros individuos de esa misma población o de otra población.

Una población

Por ejemplo si el estudio comenzó en 2023 y solamente hay una población. Los individuos podrían tener una codificación siguiente 23001, 23002, 23003, … 23152 para los 152 individuos encontrado y marcado ese año. El siguiente año se muestra esos individuos y nuevos individuos encontrado comenzarían con 24153. De esta forma ya se conoce cuando fue el primer año de muestreo del individuo y esos nuevos individuos no se confunde con los del año anterior. Cada año comenzaría con identificación del año, y la numeración de los individuos no se repiten en la misma población. Entonces hay redundandia en la codificación ayudando a reducir los errores de codificaciones.

Multiples poblaciones

Siguiendo con el mismo concepto pero múltiples poblaciones, la numeración de la población pudiese utilizar una codificación alfa numérica, donde la letra del alfabeto representa la población y la número los individuos. Siguiera así A23001, A23002,…, 23xxx para la primera población y B23001, B23002,…, B23xxx para las segunda población.

Relocalización de individuos

Para relocalizar los individuos se puede utilizar marcador permanentes o geo-referencias individuales para cada planta.

Métodos de relocalizar los individuos en el campo puede ser complicado.

  • uno de los métodos es amarar al individuo la identificación individual de forma que se fácil de encontrar y que no se pierde. Por ejemplo uno puede amarar el “tag” con hilo de pezcar grueso o “twist tags” alrededor de unos pseudobulbos o cerca de la planta. El la foto que sigue vemos una planta Cypripedium acaule en la región de North Bay, Ontario, Canada marcado con un tag metálico cerca de la planta
Cypripedium acaule marcado; Foto: Tremblay
Cypripedium acaule marcado; Foto: Tremblay

Necesitamos unos ejemplos

  • otro metodo es grapar el “tag” al lado de los individuos. Este es un método que es adecuado para plantas pequeñas. NO se debería poner el tag agarrado a la planta, ya que el peso del tag, podría causar daño a la planta, en adición que este caso las hojas no son persistente, por consecuencia al caer una hoja podría perder el “tag”. En esa foto se uso un pequeño clavo para poner el “tag”, pero también usando una grapadora puede ser más eficiente y menos dañino al árbol. En la foto siguiente se ve un tag de plastico amarado con un clavo al lado de de una planta de Lepanthes eltoroensis en Puerto Rico. Posteriormente se cambio el calvo por una grapadora normal. Ese metodofuncionó muy bien.
Lepanthes eltoroensis marcado; Foto: Tremblay
Lepanthes eltoroensis marcado; Foto: Tremblay

Si el sitio esta bien protegido y no hay riesgos de atraer atención a las plantas se puede usar pequeñas banderas para facilitar la recaptura de las plantas.

NOTA importante: los “tags” no deberían ser facil de ver en el habitat ya que podría atraer atención al estudio y hay mucha gente que se llevan plantas del campo, incluyendo plantas que son partes de estudios.

Cypripedium acaule identificado con bandera numerada; Foto: Tremblay
Cypripedium acaule identificado con bandera numerada; Foto: Tremblay

Variables a recoger en el campo

La base de los estudios de dinamica poblacional es evaluar las transiciones entre las etapas de vida incluyendo mortantad y su reprodución. La información que se recoge del campo tiene que ser facil de recoger y consistente y sin error. Si seguimos ejemplos de los trabajos de campo de Tremblay [ref] con Lepanthes, las etapas incluidas son plantulas, juveniles, adultos no reproductivos y adultos reproductivos. Cada una de estas estapas estan definida especificamente para ese genero.

  • plantula: individuo que no tiene ninguna hoja con peciolo.
  • juvenil: individuo que tiene hojas con peciolo pero no hay ninguna evidencia que fue reproductiva en el pasado (las base de las inflorescencia son persistente)
  • adulto non-reproductivo: individuos con inflorescencias secas (ninguna verde)
  • adulto reproductivo: individuo con inflorescencia verdes con o sin flores o frutos.

Dependiendo de los estudios pudiese haber más etapas, por ejemplo Tremblay [ ] uso dos etapas de individuos reproductivos.

Otro ejemplo es el estudio de Hernández-Apolinar con la especie xx. donde incluyo…..

Determinar cuantas categoria deberia ser utilizados y cuales es muy dinamica y depende de la especies, número individuos y las preguntas de interes.

Las variables a recoger tiene que incluir el minimo las siguientes

  • la etapa en el tiempo t
  • si esta vivo o muerto en el tiempo t
  • la cantidad de flores en el tiempo t
  • la cantidad de frutos en el tiempo t
  • la presencia y “tagging” de nuevos individuos en el tiempo t+1

Otras variables que pudiese recoger incluye

  • el tamaño de las hojas o la hoja más grande

    • Brasavola cucculata []: las plantas necesitan un tamaño minimo de largo de hoja antes de florecer
  • el número de pseudobulbo

    • ….
  • la altura de la inflorescencia

    • Caladenia valida []: la altura de la inflorescencia impacta la probabilidad de producir frutos
  • la altura en el árbol de las epífitas

    • Brasavola cucculata []: la plantas muy bajo menos de 1.5m son depredadas por la cabras
  • el número de “ramet”, un indice del tamaño del genotipo en plantas con crecimiento horizontal

    • Cypripedium calceolus var. parviflorum [Tremblay]: Los estudios evolutivos tienen que reconocer la diferencia entre un “ramet” y un “genet”.
  • indicadores de herbivoria sobre la planta

  • indicadores de la cantidad plagas sobre la planta como “rust”

Referencias

Como calcular transiciones para la matriz de Lefkovitch

Por: Ernesto Mujica y Elaine Gonzalez y Aucencia

Métodos tradicional de calcular las transiciones

Problema con el uso tradicional

Referencias

Como calcular fecundidad

Por: Demetria y Aucencia: equipo ECOSUR

Métodos tradicional de calcular las transiciones

Problema con el uso tradicional

Referencias

Matrices de transicion, fecundidad y clonal

Por: Raymond

Tres tipos de matrices

Para facilitar los analisis y interpretaciones es necesario tener claro la diferencias en los parámetros que provienen de transiciones, fecundidades y clonaje, cada submatriz se suma para tener un modelo de una matriz poblacional. La suma de cada una de esas sub-matrices resulta en la matriz de transiciones para evaluar algunos de los parametros del crecimiento poblacional.

Definiciones de las matrices

  • MatU = Matriz de transiciones
  • MatF = Matriz de Fecundidad
  • MatC = Matriz de clonaje
  • MatA = MatU + MatF + MatC
Relación entre matrices; Diseño: Samuel Gascoigne
Relación entre matrices; Diseño: Samuel Gascoigne

MatU: Matriz de transiciones

En la matriz de transiciones, MatU se encuentra solamente la información sobre de transiciones, estasis o retroceso entre las etapas de vida. Por consecuencia todo información sobre reproducción y clonaje es excluida. Si el diseño del modelo asume tres etapas de vida, plantulas, juvenil y adultos, se incluye solamente las siguientes transiciones.

Nota que es este modelo los juveniles no pueden regresar a ser plantulas, pero los adultos pudiese regresar a ser juvenil. Seria probablemente más adecuado re-nombrar la etapa juvenil (que se entiende que no es reproductivo) a algo más claro como “Individuos pequeño”.

library(DiagrammeR)
library(Rage)
matU <- rbind(
  c(0.1, 0.0, 0.0),
  c(0.5, 0.3, 0.05),
  c(0.001, 0.4, 0.8)
)
stages <- c("Plantulas", "Juvenil", "Adulto")
plot_life_cycle(matU, stages=stages)

MatF: Matriz de fecundidad

Si uno sigue la figura anterior vemos que los individuos en la segunda etapa se reproducen sexualmente (producen plantulas). Por consequencia seria probablemente más adecuado cambiar de nombre para la segunda etapa de “juvenil” a “individuos pequeños”. Lo que se observa es el ciclo de vida de la oportaciones de plantulas es que los Individuos pequeños y Grande producen plantulas.

library(DiagrammeR)
library(Rage)
matF <- rbind(
  c(0.0, 0.4, 1.8),
  c(0.0, 0.0, 0.0),
  c(0.0, 0.0, 0.0)
)
stages <- c("Plantulas", "Ind Pequeños", "Ind Grande")
plot_life_cycle(matF, stages=stages)

MatC = Matriz de clonación

Esa matriz representa la información para especies que se reproducen por clonaje. Nota que este necesario lo que se define por clonaje. Por ejemplo un individuo de Epidendrum que crece y que tenga más tallos, no debería ser considerado clonaje, pero crecimiento del individuo. Al contrario un individuo que crece de forma que la planta madre se separa en dos o más partes donde no comparten connección pudiese ser considerado clonaje. Otra alternativa es que hay muchas especies de orquideas que producen keiki, el momento que estos se separan de la madre se puden considerar como un individuo a parte.

Se deberia enfatizar que añadir el concepto de clonaje dentro de la matriz de transiones resulta en estimados de parametros diferentes, tal como el tamaño efectivo de población, Ne, en adición de evaluar otros conceptos evolutivos. En estudios evolutivos no es el individuo como tal que es la unidad de interes pero el individuo como fuente de diversidad genética, por consecuencia individuos (clones) que son geneticamente igual son evolutivamente el mismo individuos aunque esten seperado fisicamente. Las poblaciones organizados en clones affecta la interpretacion de datos tanto en los estudios ecologico y evolutivos Cook (1983). Cuando se estudia especies con clonación hay que diferenciar entre los que es el “ramet” y un “genet”. Los genet son la suma de todas las partes “ramet” que tiene la misma genetica. Los “ramet”, son las partes de individuales. En orquídea se podría considerar cada seudobulbo como un ramet y la suma de todos los seudobulbo como el “genet”. Hay acercamiento para tomar en cuenta la adequación de los “individuos” en la matriz y por consequencia intergrar el concepto de clonación en los estimados. vea: McGraw and Caswell (1996).

Método bayesiano de calcular las transciones

Por: RLT

El objetivo de este capítulo es demostrar algunos de los retos cuando uno trabaja con especies raras o con poca información para estimar los parametros de la matrices y como se puede resolver y estimar parametros más realista.

Considera este primer ejemplo donde se estima que la especie de interes tenga tres etapas en su ciclo de vida (semillas, plantulas y adultos) y que solamente la etapa más grande (de adultez) puede producir semillas.

Cuando se comienza un analisis de dinamica poblacional el primer paso es evaluar y tratar de ver cual son las etapas del ciclo de vida que pudiesen ser representativo de la dinamica principal de la especie.

En esta primera figura vemos lo que se considerá que ocurre en esa especie hipotetica.

library(Rage)

Ahora ud recoge los datos del campo y evalua las transiciones y fecundidad y tiene información siguiente.

  1. Todas las semilla germinan y crece a la etapa de plantula.
  • Es realista que todas las semillas germinan?
  • Por que no se encontró semillas que NO germinan?
  1. Todos las plantulas mueren
    • Es realista que todas las plantulas se muere?

Aqui se ve dos de los problemas que resulta en PPM que no son realista, uno que no hay ninguna mortantad o que todo se muere. El otro componente es el efecto del tamaño de muestra, considerá que su especie de interes Ud tuvo acceso solamente a 4 plantas adultas (un especies rara), y 4 de los 4 sobrevieron, por consecuencia 100% de supervivencia. Si los individuos llegan a esta etapa son inmortales!!!? Claramente es un resultado del tamaño de muestra y no del ciclo de vida de la especie.

El paquete raretrans ayuda en resolver estos asuntos illogicos y crear matrices que son más entre realistas al ciclo de vida de su especie.

# hidden code to produce figures
library(DiagrammeR)


matA <- rbind(
  c(0.0, 0.0, 0.0),
  c(1.0, 0.0, 0.0),
  c(0.0, 0.0, 0.9)
)
stages <- c("semillas", "plantulas", "adultos")
title <- NULL
plot_life_cycle(matA, stages=stages)

El paquete “raretrans”

La información original del uso del paquete se encuentra aqui https://doi.org/10.1016/j.ecolmodel.2021.109526.

Population projections from holey matrices: Using prior information to estimate rare transition events

Abstracto

Las matrices de proyección de población son un medio común para predecir la persistencia de la población a corto y largo plazo para especies raras, amenazadas y en peligro de extinción. Los datos de tales especies pueden sufrir de tamaños de muestra pequeños y, en consecuencia, perder eventos demográficos raros que dan como resultado trayectorias de ciclo de vida incompletas o biológicamente poco realistas. Las matrices con valores faltantes (ceros; p. ej., sin observación de semillas que se transforman en plántulas) a menudo se reparan utilizando información previa de la literatura, otras poblaciones, períodos de tiempo, otras especies, estimaciones de las mejores conjeturas o, a veces, incluso se ignoran. Para paliar este problema, proponemos usar un modelo multinomial de Dirichlet para parametrizar transiciones y un Gamma para la reproducción para parchear los valores faltantes en estas matrices perforadas. Esto integra formalmente la información previa dentro de un marco bayesiano e incluye explícitamente el peso de la información previa en las distribuciones posteriores. Mostramos utilizando dos conjuntos de datos reales que el peso asignado a la información anterior influye principalmente en la dispersión de los posteriores, la inclusión de anteriores da como resultado matrices irreducibles y ergódicas, y se pueden hacer inferencias biológicamente más realistas sobre las probabilidades de transición. Debido a que los antecedentes se establecen explícitamente, los resultados son reproducibles y se pueden volver a evaluar si hay antecedentes alternativos disponibles en el futuro.

Instalación de los paquetes #1

if (!require("pacman")) install.packages("pacman")
## Loading required package: pacman
pacman::p_load(janitor, tidyverse, devtools)

library(tidyverse)
library(janitor)

Instalación de raretrans #2

#library(devtools)

#devtools::install_github("atyre2/raretrans", build = TRUE, build_opts = c("--no-resave-data", "--no-manual"))

library(raretrans)

Vea el siguiente website para más información en ingles, la información que sigue es una traducción y ampliación de la información en el siuiente enlace.

https://atyre2.github.io/raretrans/articles/onepopperiod.html

library(tidyverse)
library(ggplot2)
library(popbio) # para la función projection.matrix()
library(raretrans)
# Mi tema de ggplot2 personal
rlt_theme <- theme(axis.title.y = element_text(colour="grey20",size=15,face="bold"),
        axis.text.x = element_text(colour="grey20",size=15, face="bold"),
        axis.text.y = element_text(colour="grey20",size=15,face="bold"),  
        axis.title.x = element_text(colour="grey20",size=15,face="bold"))

El objetivo de esta viñeta es demostrar el uso del paquete raretrans para los calculos de los parametros en una población y periodo de transición.

Parte I: Obtención de la matriz de proyección

raretrans asume que la matriz de proyección es una lista de dos matrices, una matriz de transición y una matriz de fertilidad. Este es el formato de salida de popbio::projection.matrix. Si tenemos transiciones individuales en un marco de datos

Podemos utilizar popbio::projection.matrix para obtener los datos necesarios. Hacemos una demostración con los datos de transición y fertilidad de la orquídea epifita Lepanthes elto POPNUM 250 en el periodo 5.

Paso 1: Cargar y fusionar los datos de población única para L. elto

data("L_elto") # carga el conjunto de datos `L_elto` en memoria (incluido en el paquete `raretrans`)
head(L_elto) 
## # A tibble: 6 × 13
##   POPNUM  year seedlings adults fertility IND_NUM stage next_stage first_year
##    <dbl> <dbl>     <dbl>  <dbl>     <dbl>   <dbl> <chr> <chr>           <dbl>
## 1    209     1         1      6         0      67 j     j                   1
## 2    209     1         1      6         0      68 a     a                   1
## 3    209     1         1      6         0      69 a     a                   1
## 4    209     1         1      6         0      70 a     a                   1
## 5    209     1         1      6         0      71 j     a                   1
## 6    209     1         1      6         0      72 a     a                   1
## # ℹ 4 more variables: last_year <dbl>, recruited <lgl>, died <dbl>,
## #   lifespan <int>

Organización de los datos en el “data.frame”

  • el primer paso es seleccionar los datos de una población y un periodo de tiempo
  • el segundo paso es hacer un cambio en la terminología para el estado más pequeño de “plantula” a “seedling”… Ese cambio es para que la información presentada aqui sea la misma que en el documento en ingles.

Cada fila de este data.frame de datos tiene columnas para la fase actual (stage), la fase siguiente (next_stage) y la fertilidad por individuo. Tenga en cuenta que “p” significa “plantula” en español. El primer conjunto de líneas de abajo cambia el nombre de la etapa del ciclo vital de “p” a “s” después de seleccionar la población y el periodo de tiempo.

onepop <- L_elto %>%   
# Filtrar la población # 250, el periodo (año=year) 5
  filter(POPNUM == 250, year == 5) %>% 
  # redefine "p" por plantula a "s" para seedling
  mutate(stage = case_when(stage == "p" ~ "s",
                           TRUE ~ stage),
         next_stage = case_when(next_stage == "p"~ "s",
                                TRUE ~ next_stage))
# popbio::projection.matrix no funciona con tibbles, por consecuencia se convierte en data.frame

head(onepop)
## # A tibble: 6 × 13
##   POPNUM  year seedlings adults fertility IND_NUM stage next_stage first_year
##    <dbl> <dbl>     <dbl>  <dbl>     <dbl>   <dbl> <chr> <chr>           <dbl>
## 1    250     5         8     34     0         167 j     a                   1
## 2    250     5         8     34     0         168 j     a                   1
## 3    250     5         8     34     0         169 j     a                   1
## 4    250     5         8     34     0.118     170 a     a                   1
## 5    250     5         8     34     0         172 j     j                   1
## 6    250     5         8     34     0         173 j     a                   1
## # ℹ 4 more variables: last_year <dbl>, recruited <lgl>, died <dbl>,
## #   lifespan <int>
# Crear TF = TRUE, añadir para formatear corectamente.
TF <- popbio::projection.matrix(as.data.frame(onepop), 
                        stage = stage, fate = next_stage, 
                        fertility="fertility", sort=c("s","j","a"), TF = TRUE)
TF # Este es la estructura de etapas de vida para esa población 
## $T
##    
##              s          j          a
##   s 0.09090909 0.00000000 0.00000000
##   j 0.63636364 0.57446809 0.00000000
##   a 0.00000000 0.29787234 0.85294118
## 
## $F
##    
##             s         j         a
##   s 0.0000000 0.0000000 0.1176471
##   j 0.0000000 0.0000000 0.0000000
##   a 0.0000000 0.0000000 0.0000000

Nota:

Nuestros estadios se codifican ahora como s (plántula), j (juvenil) y a (adulto), y ahora tenemos dos matrices: T (transición de estadios) y F (fecundidad). La tasa de crecimiento asintótico de la población observada es \(\lambda =\) 0.93. Las transiciones raras que faltan en nuestra primera matriz de transición, TF$T, son la transición de plántula (s) a adulto (a) y la transición de j a s. Pero sabemos que ocurren.

Paso 2: Obtener el número inicial de individuos por etapa

Dado que nuestras priores se basan en recuentos (número de individuos, N) y el tamaño de muestreo equivalente a priori se expresa como múltiplo del número de individuos observados, necesitamos obtener el número de individuos en cada etapa (\(N\)) en el primer periodo de tiempo.

Utilizamos la función raretrans::get_state_vector() para obtener el recuento inicial de individuos, N. inicial, N.

N <- get_state_vector(onepop, stage = stage, sort=c("s","j","a")) 
N # Un vector de # de individuos iniciales para cada etapa, nota que el "stage" son los individuos en el primer muestreo
## [1] 11 47 34

La lista de matrices y el vector de cuento de individuales no tienen por qué proceder de un data.frame como hemos hecho aquí. Mientras tengan el formato esperado, pueden crearse a mano. Usamos la población 231 en el periodo 2 como ejemplo, dividiendo la matriz en matrices de transición T y fecundidad F. Abajo, m significa “muerte”, es decir, plantas que están muertas.

TF2
## $Tmat
##     stage
## fate         p         j         a
##    p 0.5000000 0.0000000 0.0000000
##    j 0.0000000 0.8333333 0.0000000
##    a 0.0000000 0.0625000 0.8750000
## 
## $Fmat
##      [,1] [,2]  [,3]
## [1,]    0    0 0.125
## [2,]    0    0 0.000
## [3,]    0    0 0.000
N2
##  p  j  a 
##  2  6 16

En esta matriz falta la transición de plántula a juvenil, y ninguno de los 6 juveniles murió, lo que lleva a una sobreestimación de la supervivencia. La tasa de crecimiento asintótico de la población observada es \(\lambda =\) 0.88. La matriz no es ergódica (no se puede llegar a cualquier otro estado desde uno o más estados), y reducible, lo que significa que una o más columnas y filas se pueden descartar y tienen las mismas propiedades eigen.

Parte 2: Uso de priors para incorporar transiciones raras

Use priors no informativos

  • Ese paso es solamente para entender porque no se calcula y porque no se usa prior uniforme.

Tremblay (Tremblay et al. (2021)) muestran que los valores de prior de una dirichlet funciona para las columnas de la matriz de transición (T) y que valores prior gamma funciona para las columnas de la matriz de transición (F).

Matriz de transición

Por lo tanto, vamos a añadir un dirichlet uniforme con prior con un peso = \(1\) a la matriz de transición, \(T\). Aquí, tenemos 4 destinos (3 + muerte), por lo que cada destino 0,25 a la matriz de destinos observados (¡no a la matriz de transiciones!). de transición). Cuando especificamos una matriz con un prior para las transiciones, hay una fila más que columnas. Esta fila extra representa la muerte.

Tprior <- matrix(0.25, byrow = TRUE, ncol = 3, nrow=4)
fill_transitions(TF, N, P = Tprior) # resultado de la matriz de transición básica
##            [,1]        [,2]        [,3]
## [1,] 0.10416667 0.005208333 0.007142857
## [2,] 0.60416667 0.567708333 0.007142857
## [3,] 0.02083333 0.296875000 0.835714286
# Para entender las diferencias compara los resultados con *$T* del objeto *TF*
TF
## $T
##    
##              s          j          a
##   s 0.09090909 0.00000000 0.00000000
##   j 0.63636364 0.57446809 0.00000000
##   a 0.00000000 0.29787234 0.85294118
## 
## $F
##    
##             s         j         a
##   s 0.0000000 0.0000000 0.1176471
##   j 0.0000000 0.0000000 0.0000000
##   a 0.0000000 0.0000000 0.0000000

Como calcular a mano!

Podemos obtener el mismo resultado ‘a mano’ - necesitamos el vector de observaciones porque la posterior se calcula a partir de las observaciones de transiciones, no la matriz de transiciones.

Tobs <- sweep(TF$T, 2, N, "*") # obtener las observaciones de transiciones 
Tobs <- rbind(Tobs, N - colSums(Tobs)) # añadir la fila de muerte 
Tobs <- Tobs + 0.25 # añadir los prior
sweep(Tobs, 2, colSums(Tobs), "/")[-4,] # dividir por la suma de la column y descarta la fila de muerte 
##            s           j           a
## s 0.10416667 0.005208333 0.007142857
## j 0.60416667 0.567708333 0.007142857
## a 0.02083333 0.296875000 0.835714286

El prior uniforme rellena las transiciones que faltan, pero también crea problemas porque proporciona valores de transición que son biológicamente imposibles. Por ejemplo, proporciona una transición para adulto->plántula, cuando esta transición sólo es posible en la matriz de fecundidad \(F\). Por esta razón, no recomendamos el uso de priores uniformes. En otra palabra usando un prior uniforme no toma en cuenta el ciclo de vida de una especie.

Matriz de fecundidad

Debemos especificar los parámetros para la fertilidad a priori como una matriz. Las etapas que no hay reproducción o sea que no se producen por reproducción deben ser NA, usando NA_real_. El concepto de NA_real_ es que es un valor que no esta presente pero con puntos decimales. Nota que el valor de prior de la fertilidad es 0.0001.

alpha <- matrix(c(NA_real_, NA_real_, 1e-5,
                  NA_real_, NA_real_, NA_real_,
                  NA_real_, NA_real_, NA_real_), nrow=3, ncol = 3, byrow = TRUE)
beta <- matrix(c(NA_real_, NA_real_, 1e-5,
                  NA_real_, NA_real_, NA_real_,
                  NA_real_, NA_real_, NA_real_), nrow=3, ncol = 3, byrow = TRUE)
fill_fertility(TF, N, alpha = alpha, beta = beta)
##    
##             s         j         a
##   s 0.0000000 0.0000000 0.1176473
##   j 0.0000000 0.0000000 0.0000000
##   a 0.0000000 0.0000000 0.0000000

El cambio en la fertilidad es < 0,0001 en comparación con el valor observado.

Calculando los Priors de fertilidad a mano

Calculando a mano, alfa a priori es el número de crías observadas

y beta a priori es el número de adultos observados.

obs_offspring <- N[3]*TF$F[1,3] 
prior_alpha <- 1e-05
prior_beta <- 1e-05
posterior_alpha <- obs_offspring + prior_alpha
posterior_beta <- N[3] + prior_beta
posterior_alpha / posterior_beta # expected value
## [1] 0.1176473

Esto demuestra por qué la estimación puntual posterior de la fecundidad no cambia mucho; los valores no informativos de \(\alpha\) y \(\beta\) apenas cambian los valores observados.

Ahora podemos juntarlos.

unif <- list(T = fill_transitions(TF, N), 
             F = fill_fertility(TF, N, 
                                alpha = alpha,
                                beta = beta))
unif
## $T
##            [,1]        [,2]        [,3]
## [1,] 0.10416667 0.005208333 0.007142857
## [2,] 0.60416667 0.567708333 0.007142857
## [3,] 0.02083333 0.296875000 0.835714286
## 
## $F
##    
##             s         j         a
##   s 0.0000000 0.0000000 0.1176473
##   j 0.0000000 0.0000000 0.0000000
##   a 0.0000000 0.0000000 0.0000000

El crecimiento poblacional

La tasa de crecimiento asintótico de la población es ahora \(\lambda =\) 0.92. La tasa de crecimiento se reduce ligeramente porque la aplicación de la prioridad uniforme a las probabilidades de transición hace que las transiciones observadas de crecimiento y supervivencia se reduzcan ligeramente en relación con las transiciones no observadas de crecimiento y supervivencia.

Otras opciones para el argumento `returnType

Por defecto, fill_transitions() devuelve la matriz de transición \(T\), y fill_fertility() devuelve la matriz de fertilidad \(F\). Existen otros tres otros valores que puede tomar el argumento returnType:

  1. fill_transitions(... returnType = "TN") puede devolver una matriz aumentada de destinos, que es útil para la simulación. La cuarta fila de este resultado (véase más adelante) es el estado de mortalidad.
fill_transitions(TF, N, returnType = "TN")
##      [,1]  [,2]  [,3]
## [1,] 1.25  0.25  0.25
## [2,] 7.25 27.25  0.25
## [3,] 0.25 14.25 29.25
## [4,] 3.25  6.25  5.25
  1. fill_fertility(... returnType = "ab") devuelve los vectores alfa y beta de los vectores posteriores.
fill_fertility(TF, N, 
               alpha = alpha,
               beta = beta,
               returnType = "ab")
## $alpha
##    
##     s j       a
##   s     4.00001
##   j            
##   a            
## 
## $beta
##      [,1] [,2]     [,3]
## [1,]   NA   NA 34.00001
## [2,]   NA   NA       NA
## [3,]   NA   NA       NA
  1. Ambas funciones también pueden devolver la matriz completa, la suma de \(T\) y \(F\).
fill_transitions(TF, N, returnType = "A")
##    
##               s           j           a
##   s 0.104166667 0.005208333 0.124789916
##   j 0.604166667 0.567708333 0.007142857
##   a 0.020833333 0.296875000 0.835714286

Añadiendo realidad a los análisis

Hasta este punto, el objetivo era de entender las funciones y su aplicaciones. Ahora vamos a añadir realidad a los analisis. Como se ha mencionado no deberiamos usar priors uniforme. Debemos usar priors que son más relevante al ciclo de vida de la especie de interes.

Incorporar priores informativos

Para solucionar el problema de la creación de transiciones imposibles, especificamos una prioridad más informativa obtenida de un experto en orquídeas epifitas (RLT). La información tiene que tener la misma forma que la matriz de transiciones con una fila más que columnas. Esa ultima fila representa los individuos que se mueren de la estapa correspondiente.

RLT_Tprior <- matrix(c(0.25, 0.025, 0.0,
                       0.05, 0.9,   0.025,
                       0.01, 0.025, 0.95,
                       0.69, 0.05,  0.025), 
                     byrow = TRUE, nrow = 4, ncol = 3)

Nota la matriz tiene la 1ª fila, 3ª columna es 0,0, porque esta transición es imposible. Esta prioridad se construye de manera que las columnas suman 1, lo que crea la mayor flexibilidad para la ponderación de la prioridad. Por defecto, la suma es 1, interpretado como un tamaño de muestra a priori de 1.

fill_transitions(TF, N, P = RLT_Tprior)
##              [,1]         [,2]         [,3]
## [1,] 0.1041666667 0.0005208333 0.0000000000
## [2,] 0.5875000000 0.5812500000 0.0007142857
## [3,] 0.0008333333 0.2921875000 0.8557142857

We can specify the weight as a multiple of the sample size for each stage.

fill_transitions(TF, N, P = RLT_Tprior, priorweight = 0.5)
##             [,1]        [,2]        [,3]
## [1,] 0.143939394 0.008333333 0.000000000
## [2,] 0.440909091 0.682978723 0.008333333
## [3,] 0.003333333 0.206914894 0.885294118

En este caso, la prioridad se pondera con la mitad del número observado de transiciones. En este caso, con sólo 2 transiciones, el tamaño efectivo de la muestra a priori sigue siendo 1. Si el número de transiciones observadas fuera Si el número de transiciones observadas fuera mayor, una ponderación a priori de 0,5N sería mayor que 1, pero permitiría que los datos dominen.

Part 3: Obtain Credible Intervals

Obtener los inertvalos de confianza (IC) para entradas de matriz individuales

La distribución posterior marginal de un elemento en un multinomio es una distribución beta, y usamos esto para obtener intervalos creíbles en nuestro tasas de transición. Podemos usar el tipo de retorno TN para obtener los parámetros de el multinomio deseado.

TN <- fill_transitions(TF, N, P = RLT_Tprior, priorweight = 0.5, returnType = "TN")
a <- TN[,1] # cambie 1 a 2, 3 etc para obter la distribución beta marginal de cada columna. 
b <- sum(TN[,1]) - TN[,1]# cambie 1 a 2, 3 etc para obter la distribución beta marginal de cada columna. 
p <- a / (a + b)
lcl <- qbeta(0.025, a, b)
ucl <- qbeta(0.975, a, b)
knitr::kable(sprintf("%.3f (%.3f, %.3f)", p, lcl, ucl))
x
0.144 (0.025, 0.343)
0.441 (0.218, 0.677)
0.003 (0.000, 0.038)
0.412 (0.195, 0.649)

Esas son las estimaciones puntuales (comparar con la primera columna anterior), inferior y superior \(95\%\) de los intervalos creíbles simétricos para transiciones de la etapa de plántula. Existe un alto grado de incertidumbre debido a la tamaño de muestra pequeño (\(2\)) y bajo peso en el anterior (\(1\)), lo que lleva a un tamaño de muestra efectivo de 3. Si aumentamos el tamaño de muestra efectivo a \(20\) especificando: priorweight\(= 9 (9*2 = 18 + 2 = 20)\) el los intervalos creíbles simétricos se reducen bastante:

La importancia aqui es que el tamaño de muestra tiene un impacto sobre la confianza que se tiene sobre el estimado de punto (el promedio) de las transiciones y permanencia y mortandad.

La tasa de transición de plántula a juvenil se reduce cuando el tamaño de la muestra es demasiado grande. En general, el tamaño de la muestra previa debe ser menos que el tamaño de muestra observado.

Intervalos creíbles de \(\lambda\)

Obteniendo intervalos creíbles sobre la tasa de crecimiento asintótica, \(\lambda\), requiere simular matrices a partir de las distribuciones posteriores. Esto es algo complicado de hacer correctamente, y hemos escrito una función raretrans::sim_transitions() para generar una lista de matrices simuladas dada la matriz observada y especificaciones previas.

sim_transitions(TF, N, P = RLT_Tprior, alpha = alpha, beta = beta,
                priorweight = 0.5)
## [[1]]
##              [,1]        [,2]        [,3]
## [1,] 9.989375e-02 0.004478638 0.263109532
## [2,] 6.095309e-01 0.694845020 0.005618474
## [3,] 8.940562e-16 0.199337991 0.801979237

Ahora simulamos 5000 veces, calculamos el valor \(\lambda\) de cada matriz y creamos un histograma de la distribución.

#set.seed(8390278) # make this part reproducible
alpha2 <- matrix(c(NA_real_, NA_real_, 0.025,
                  NA_real_, NA_real_, NA_real_,
                  NA_real_, NA_real_, NA_real_), nrow=3, ncol = 3, byrow = TRUE)
beta2 <- matrix(c(NA_real_, NA_real_, 1,
                  NA_real_, NA_real_, NA_real_,
                  NA_real_, NA_real_, NA_real_), nrow=3, ncol = 3, byrow = TRUE)
# generar 5000 matrices basado en las previas de transciones y de fertilidades, el tamaño de muestra, en adición de los datos
RLT_0.5 <- sim_transitions(TF, N, P = RLT_Tprior, alpha = alpha2, beta = beta2,
                priorweight = 0.5, samples = 5000)
# extract the lambdas for each matrix
RLT_0.5 <- tibble(lposterior = map_dbl(RLT_0.5, lambda)) # convertir la lista en un tibble
ggplot(data = RLT_0.5,
       mapping = aes(x = lposterior)) + 
  geom_histogram(binwidth = 0.01, colour="white") + 
  rlt_theme+ geom_vline(xintercept = 1, 
                color = "blue", size=1.5)
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

Determinar si el \(\lambda\) es significativamente diferente de 1

Esa prueba es basada en la simulación de la distribución poesterior. Se calcula la distribución de los lambda’s y se determina si el lmabda observado es significativamente más grande que 1.

También podemos calcular algunas estadísticas de resumen. pincrease es el probabilidad de que \(\lambda > 1\).

RLT_0.5_summary <- summarize(RLT_0.5,
                             medianL = median(lposterior),
                             meanL = mean(lposterior),
                             lcl = quantile(lposterior, probs = 0.025),
                             ucl = quantile(lposterior, probs = 0.975),
                             pincrease = sum(lposterior > 1.)/n())
knitr::kable(RLT_0.5_summary, digits = 2)
medianL meanL lcl ucl pincrease
0.96 0.96 0.87 1.03 0.14

Crecimiento Poblacional

Por: Tamara

Introducción al crecimiento poblacional

Ahora el primer paso es explicar a que …..

  • Crecimiento intrínseco
    • Estimado de intervalos de confianza de lambda

Métodos

Elasticidad

Por: Demetria, Ernesto Mujica y Elaine Gonzalez

Qué es la Elasticidad

Como se interpreta la eslaticidad

Como se calcula la eslasticidad

Limitaciones

Referencias

Dinámica de transiciones

Por: ???

Definiciones de DT

Cual es la ventaja de la DT

Como se calcula

Paquete de R para calcular la DT

Limitaciones

Referencias

Elasticidad no lineal

Por : ???

Transfer function

Valor biológico

Métodos de calculo

Paquete de R para calcular le eslaticidad no lineal

Referencias

LTRE

Por: Adriana Ramirez Martinez

Introducción a LTRE

Ahora el primer paso es explicar a que …..

Métodos

Metodos de Simulaciones

Por: ???

Introducciones a métodos de simulaciones

Ventaja de usar simulaciones

Ejemplo Simple de simulaciones

El uso de matrices para estudios evolutivos

Por: Roberto Salguero-Gómez

PPM_Orquidea sinopsis historico

Por: Raymond y todos

Por: Un overview de la historia de estudios PPm con orquideas

Compadre_Orchid PPM y su uso

Raymond y Roberto

library(Rcompadre)
library(tidyverse)
library(gt)
library(kableExtra)
## 
## Attaching package: 'kableExtra'
## The following object is masked from 'package:dplyr':
## 
##     group_rows

Load data from COMPADRE

load("~/Library/CloudStorage/Dropbox/GitHub_Dropbox_Drive/GitHub/Diagnostico_Poblacional/Diagnostico_Poblacional/COMPADRE_v.6.23.5.0.RData")

ALLSp=as_cdb(compadre)  # Un baso critico: Convertir la base de datos anterior COM(P)ADRE (de clase 'list') en la base en un objeto CompadreDB.

names(ALLSp) # Nombre de las variables
##  [1] "mat"                    "MatrixID"               "SpeciesAuthor"         
##  [4] "SpeciesAccepted"        "CommonName"             "Kingdom"               
##  [7] "Phylum"                 "Class"                  "Order"                 
## [10] "Family"                 "Genus"                  "Species"               
## [13] "Infraspecies"           "InfraspeciesType"       "OrganismType"          
## [16] "DicotMonoc"             "AngioGymno"             "Authors"               
## [19] "Journal"                "SourceType"             "OtherType"             
## [22] "YearPublication"        "DOI_ISBN"               "AdditionalSource"      
## [25] "StudyDuration"          "StudyStart"             "StudyEnd"              
## [28] "ProjectionInterval"     "MatrixCriteriaSize"     "MatrixCriteriaOntogeny"
## [31] "MatrixCriteriaAge"      "MatrixPopulation"       "NumberPopulations"     
## [34] "Lat"                    "Lon"                    "Altitude"              
## [37] "Country"                "Continent"              "Ecoregion"             
## [40] "StudiedSex"             "MatrixComposite"        "MatrixSeasonal"        
## [43] "MatrixTreatment"        "MatrixCaptivity"        "MatrixStartYear"       
## [46] "MatrixStartSeason"      "MatrixStartMonth"       "MatrixEndYear"         
## [49] "MatrixEndSeason"        "MatrixEndMonth"         "CensusType"            
## [52] "MatrixSplit"            "MatrixFec"              "Observations"          
## [55] "MatrixDimension"        "SurvivalIssue"          "_Database"             
## [58] "_PopulationStatus"      "_PublicationStatus"
index_O=ALLSp %>% 
 filter(Family %in% c("Orchidaceae")) # Extraer la orquídeas de la base de datos. 

Lista de especies de orquídeas en la base de datos de COPADRE

unique(index_O$SpeciesAccepted)
##  [1] "Caladenia amonea"          "Caladenia argocalla"      
##  [3] "Caladenia clavigera"       "Caladenia elegans"        
##  [5] "Caladenia graniticola"     "Caladenia macroclavia"    
##  [7] "Caladenia oenochila"       "Caladenia rosella"        
##  [9] "Caladenia valida"          "Epipactis atrorubens"     
## [11] "Lepanthes rubripetala"     "Spathoglottis plicata"    
## [13] "Broughtonia cubensis"      "Cephalanthera longifolia" 
## [15] "Cleistes bifaria"          "Cypripedium calceolus"    
## [17] "Dendrophylax lindenii"     "Erycina crista-galli"     
## [19] "Lepanthes acuminata"       "Lepanthes caritensis"     
## [21] "Oncidium poikilostalix"    "Serapias cordigera"       
## [23] "Telipogon helleri"         "Aspasia principissa"      
## [25] "Guarianthe aurantiaca"     "Jacquiniella leucomelana" 
## [27] "Jacquiniella teretifolia"  "Lepanthes eltoroensis"    
## [29] "Lycaste aromatica"         "Tolumnia variegata"       
## [31] "Cleistesiopsis bifaria"    "Cleistesiopsis divaricata"
## [33] "Corallorhiza trifida"      "Cypripedium fasciculatum" 
## [35] "Cypripedium lentiginosum"  "Cypripedium parviflorum"  
## [37] "Dactylorhiza lapponica"    "Herminium monorchis"      
## [39] "Himantoglossum hircinum"   "Lepanthes rupestris"      
## [41] "Neotinea ustulata"         "Ophrys sphegodes"         
## [43] "Orchis purpurea"           "Platanthera hookeri"      
## [45] "Oeceoclades maculata"      "Brassavola cucullata"

How many unique studies?

To know how long the studies were and be unique I need to select combinations of variables that make it unique.

Subset

names(index_O)
##  [1] "mat"                    "MatrixID"               "SpeciesAuthor"         
##  [4] "SpeciesAccepted"        "CommonName"             "Kingdom"               
##  [7] "Phylum"                 "Class"                  "Order"                 
## [10] "Family"                 "Genus"                  "Species"               
## [13] "Infraspecies"           "InfraspeciesType"       "OrganismType"          
## [16] "DicotMonoc"             "AngioGymno"             "Authors"               
## [19] "Journal"                "SourceType"             "OtherType"             
## [22] "YearPublication"        "DOI_ISBN"               "AdditionalSource"      
## [25] "StudyDuration"          "StudyStart"             "StudyEnd"              
## [28] "ProjectionInterval"     "MatrixCriteriaSize"     "MatrixCriteriaOntogeny"
## [31] "MatrixCriteriaAge"      "MatrixPopulation"       "NumberPopulations"     
## [34] "Lat"                    "Lon"                    "Altitude"              
## [37] "Country"                "Continent"              "Ecoregion"             
## [40] "StudiedSex"             "MatrixComposite"        "MatrixSeasonal"        
## [43] "MatrixTreatment"        "MatrixCaptivity"        "MatrixStartYear"       
## [46] "MatrixStartSeason"      "MatrixStartMonth"       "MatrixEndYear"         
## [49] "MatrixEndSeason"        "MatrixEndMonth"         "CensusType"            
## [52] "MatrixSplit"            "MatrixFec"              "Observations"          
## [55] "MatrixDimension"        "SurvivalIssue"          "_Database"             
## [58] "_PopulationStatus"      "_PublicationStatus"
SPECIES_O=index_O %>% select(StudyStart, StudyEnd, SpeciesAccepted, YearPublication, Authors, DOI_ISBN, OrganismType, MatrixPopulation,mat) %>% 
  group_by(SpeciesAccepted, YearPublication, Authors, DOI_ISBN, OrganismType, StudyStart, StudyEnd) %>% 
  summarize(n_populations = length(unique(MatrixPopulation))) %>% 
  arrange(desc(n_populations)) %>% 
  mutate(StudyStart=as.numeric(StudyStart)) %>% 
  mutate(StudyEnd=as.numeric(StudyEnd)) %>% 
  drop_na(StudyStart, StudyEnd)

SPECIES_O %>% kable()
SpeciesAccepted YearPublication Authors DOI_ISBN OrganismType StudyStart StudyEnd n_populations
Lepanthes caritensis 2018 Crain; Tremblay; Ferguson 10.1002/1438-390X.1002 Epiphyte 2010 2012 18
Epipactis atrorubens 2017 Hens; Pakanen; Jäkäläniemi; Tuomi; Kvist 10.1016/j.biocon.2017.04.019 Herbaceous perennial 2000 2015 8
Lepanthes rubripetala 2010 Schödelbauerová; Tremblay; Kindlmann 10.1007/s10531-009-9724-1 Epiphyte 1994 2007 8
Lepanthes rupestris 2001 Tremblay; Ackerman 10.1006/bijl.2000.0485 Herbaceous perennial 1994 1996 7
Lepanthes rupestris 2014 Tremblay; McCarthy 10.1371/journal.pone.0102859 Herbaceous perennial 1993 1996 7
Orchis purpurea 2010 Jacquemyns; Brys; Jongejans 10.1890/08-2321.1 Herbaceous perennial 2002 2008 7
Lepanthes rubripetala 2001 Tremblay; Ackerman 10.1006/bijl.2000.0485 Epiphyte 1994 1996 6
Lepanthes rubripetala 2015 Tremblay; Raventós; Ackerman; 10.1093/aob/mcv031 Epiphyte 1994 1996 6
Neotinea ustulata 2007 Shefferson; Tali 10.1111/j.1365-2745.2006.01195.x Herbaceous perennial 1993 2005 6
Serapias cordigera 2014 Pellegrino; Bellusci 10.1111/boj.12204 Herbaceous perennial 1999 2012 6
Cephalanthera longifolia 2012 Shefferson; Kull; Tali; Kellett 10.1890/ES11-00328.1 Herbaceous perennial 2002 2007 4
Cleistesiopsis bifaria 1991 Wells; Willems 90-5103-068-1 Herbaceous perennial 1983 1990 4
Cypripedium calceolus 2005 Nicolè; Brzosko; Till-Bottraud 10.1111/j.1365-2745.2005.01010.x Herbaceous perennial 1991 2000 4
Cypripedium fasciculatum 2011 Thorpe; Stanley; Kayne; Latham NA Herbaceous perennial 1999 2007 4
Oeceoclades maculata 2019 Riverón-Giró; Raventós; Damon; García-González; Mújica 10.1007/s10530-019-01945-7 Herbaceous perennial 2014 2016 4
Platanthera hookeri 2007 Reddoch; Reddoch 10.3159/1095-5674(2007)134[369:PEOPHO]2.0.CO;2 Herbaceous perennial 1990 2005 4
Brassavola cucullata 2020 Ackerman; Tremblay; Pérez; Madden; Bechtold; Boeken NA Epiphyte 2009 2014 3
Cypripedium calceolus 2012 Shefferson; Kull; Tali; Kellett 10.1890/ES11-00328.1 Herbaceous perennial 2002 2007 3
Dactylorhiza lapponica 2010 Sletvold; Øien; Moen 10.1016/j.biocon.2009.12.017 Herbaceous perennial 1990 2006 3
Lepanthes eltoroensis 2001 Tremblay; Ackerman 10.1006/bijl.2000.0485 Epiphyte 1994 1996 3
Cleistes bifaria 2006 Gregg; Kéry 10.1016/j.biocon.2005.09.044 Herbaceous perennial 1986 1996 2
Cypripedium calceolus 2010 García; Goñi; Guzman 10.1111/j.1523-1739.2010.01466.x Herbaceous perennial 1994 2002 2
Erycina crista-galli 2007 Mondragón; Maldonado; Aguilar-Santelises 10.1111/boj.12204 Epiphyte 2004 2005 2
Jacquiniella leucomelana 2009 Winkler; Hülber; Hietz 10.1093/aob/mcp188 Epiphyte 2002 2005 2
Jacquiniella teretifolia 2009 Winkler; Hülber; Hietz 10.1093/aob/mcp188 Epiphyte 2002 2005 2
Lepanthes caritensis 1997 Tremblay NA Epiphyte 1994 1996 2
Lycaste aromatica 2009 Winkler; Hülber; Hietz 10.1093/aob/mcp188 Epiphyte 2002 2005 2
Aspasia principissa 2006 Zotz; Schmidt 10.1016/j.biocon.2005.07.022 Epiphyte 1997 2004 1
Broughtonia cubensis 2015 Raventós; Gonzalez; Mújica; Bonet 10.1111/btp.12231 Epiphyte 2006 2010 1
Caladenia amonea 2009 Tremblay; Pérez; Larcombe; Brown; Quarmby; Bickerton; French; Bould 10.1071/BT08167 Epiphyte 1996 2007 1
Caladenia argocalla 2009 Tremblay; Pérez; Larcombe; Brown; Quarmby; Bickerton; French; Bould 10.1071/BT08167 Epiphyte 1996 2007 1
Caladenia clavigera 2009 Tremblay; Pérez; Larcombe; Brown; Quarmby; Bickerton; French; Bould 10.1071/BT08167 Epiphyte 1996 2007 1
Caladenia elegans 2009 Tremblay; Pérez; Larcombe; Brown; Quarmby; Bickerton; French; Bould 10.1071/BT08167 Epiphyte 1996 2007 1
Caladenia graniticola 2009 Tremblay; Pérez; Larcombe; Brown; Quarmby; Bickerton; French; Bould 10.1071/BT08167 Epiphyte 1996 2007 1
Caladenia macroclavia 2009 Tremblay; Pérez; Larcombe; Brown; Quarmby; Bickerton; French; Bould 10.1071/BT08167 Epiphyte 1996 2007 1
Caladenia oenochila 2009 Tremblay; Pérez; Larcombe; Brown; Quarmby; Bickerton; French; Bould 10.1071/BT08167 Epiphyte 1996 2007 1
Caladenia rosella 2009 Tremblay; Pérez; Larcombe; Brown; Quarmby; Bickerton; French; Bould 10.1071/BT08167 Epiphyte 1996 2007 1
Caladenia valida 2009 Tremblay; Pérez; Larcombe; Brown; Quarmby; Bickerton; French; Bould 10.1071/BT08167 Epiphyte 1996 2007 1
Cleistesiopsis divaricata 1991 Wells; Willems 90-5103-068-1 Herbaceous perennial 1983 1990 1
Corallorhiza trifida 2009 Iriondo; Giménez-Benavides; Albert; Lozano; Escudero 978-84-8014-746-0 Herbaceous perennial 2001 2004 1
Cypripedium parviflorum 2014 Shefferson; Warren II; Pulliam 10.1111/1365-2745.12281 Herbaceous perennial 1994 2012 1
Dactylorhiza lapponica 2013 Sletvold; Dahlgren; Øien; Moen; Ehrlén 10.1111/gcb.12167 Herbaceous perennial 1981 2010 1
Dendrophylax lindenii 2015 Raventós; Gonzalez; Mújica; Bonet 10.1111/btp.12231 Epiphyte 2006 2010 1
Epipactis atrorubens 2011 Jäkäläniemi; Crone; Närhi; Tuomi 10.1890/10-1957.1 Herbaceous perennial 2000 2008 1
Guarianthe aurantiaca 2009 Mondragón 10.1111/j.1442-1984.2009.00230.x Epiphyte 2004 2006 1
Herminium monorchis 1998 Wells; Rothery; Cox; Bamford 10.1111/j.1095-8339.1998.tb02514.x Herbaceous perennial 1966 1995 1
Himantoglossum hircinum 2006 Pfeifer; Wiegand; Heinrich; Jetschke 10.1111/j.1365-2664.2006.01148.x Herbaceous perennial 1976 2001 1
Lepanthes acuminata 2018 Raventós; García-González; Riverón-Giró; Damon 10.1080/17550874.2018.1444110 Epiphyte 2013 2015 1
Oncidium poikilostalix 2017 García-González; Damon; Raventós; Riverón-Giró; Mújica; Solís-Montero 10.1080/17550874.2017.1315840 Epiphyte 2013 2015 1
Oncidium poikilostalix 2018 Raventós; García-González; Riverón-Giró; Damon 10.1080/17550874.2018.1444110 Epiphyte 2013 2015 1
Ophrys sphegodes 1991 Wells; Willems 90-5103-068-1 Herbaceous perennial 1983 1990 1
Spathoglottis plicata 2017 Falcón; Ackerman; Tremblay 10.1007/s10530-016-1318-8 Herbaceous perennial 2009 2011 1
Telipogon helleri 2018 Raventós; García-González; Riverón-Giró; Damon 10.1080/17550874.2018.1444110 Epiphyte 2013 2015 1
Tolumnia variegata 1993 Calvo 10.2307/1940473 Epiphyte 1988 1990 1
write_csv(SPECIES_O, "Species_O.csv")
SPECIES_O$SpeciesAccepted <- fct_reorder(SPECIES_O$SpeciesAccepted, SPECIES_O$StudyStart, .desc = FALSE)

ggplot(SPECIES_O, aes(SpeciesAccepted, color=OrganismType))+
  geom_linerange(aes(x= SpeciesAccepted  , ymin=StudyStart, ymax=StudyEnd))+
  coord_flip()+
  theme(legend.position = c(0.2, 0.8))+
  theme(axis.text.x = element_text(color = "grey20", size = 9, angle = 90, hjust = .5, vjust = .5, face = "plain"),
        axis.text.y = element_text(color = "grey20", size = 7, angle = 0, hjust = 1, vjust = 0, face = "plain"),  
        axis.title.x = element_text(color = "grey20", size = 12, angle = 0, hjust = .5, vjust = 0, face = "plain"),
        axis.title.y = element_text(color = "grey20", size = 12, angle = 90, hjust = .5, vjust = .5, face = "plain"))+
  ylab("")+
  xlab("")

index_O=index_O %>% 
  mutate(StudyDuration=as.numeric(StudyDuration))

table(index_O$StudyDuration)
## 
##   2   3   4   5   6   7   8   9  10  11  12  13  14  16  17  19  26  30 
##   2 211  37   2  82  43  26  47  28   2   9   6  86  53   7   1   1   3
table(index_O$OrganismType)
## 
##             Epiphyte Herbaceous perennial 
##                  248                  399
ggplot(index_O, aes(StudyDuration, fill=OrganismType))+
         geom_histogram(colour="white")+
  facet_wrap(~OrganismType)+
  theme(legend.position = "none")
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 1 rows containing non-finite values (`stat_bin()`).

ggsave("Duración_Epi_Ter.pdf")
## Saving 7 x 5 in image
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 1 rows containing non-finite values (`stat_bin()`).
plot(index_O$Lon,index_O$Lat,main = "Location")

Getting the whole database for orchids

index <- which(compadre$metadata$Family=="Orchidaceae") 
names(Compadre)
##  [1] "mat"                    "SpeciesAuthor"          "SpeciesAccepted"       
##  [4] "CommonName"             "Genus"                  "Family"                
##  [7] "Order"                  "Class"                  "Phylum"                
## [10] "Kingdom"                "OrganismType"           "DicotMonoc"            
## [13] "AngioGymno"             "Authors"                "Journal"               
## [16] "YearPublication"        "DOI_ISBN"               "AdditionalSource"      
## [19] "StudyDuration"          "StudyStart"             "StudyEnd"              
## [22] "ProjectionInterval"     "NumberPopulations"      "MatrixCriteriaSize"    
## [25] "MatrixCriteriaOntogeny" "MatrixCriteriaAge"      "MatrixPopulation"      
## [28] "Lat"                    "Lon"                    "Altitude"              
## [31] "Country"                "Continent"              "Ecoregion"             
## [34] "StudiedSex"             "MatrixComposite"        "MatrixTreatment"       
## [37] "MatrixCaptivity"        "MatrixStartYear"        "MatrixStartSeason"     
## [40] "MatrixStartMonth"       "MatrixEndYear"          "MatrixEndSeason"       
## [43] "MatrixEndMonth"         "MatrixSplit"            "MatrixFec"             
## [46] "Observation"            "MatrixDimension"        "SurvivalIssue"         
## [49] "AnnualPeriodicity"
subset(index_O, Family =="Orchidaceae"  &
             MatrixDimension >2)
## A COM(P)ADRE database ('CompadreDB') object with 46 SPECIES and 647 MATRICES.
## 
## # A tibble: 647 × 59
##    mat        MatrixID SpeciesAuthor   SpeciesAccepted CommonName Kingdom Phylum
##    <list>        <int> <chr>           <chr>           <chr>      <chr>   <chr> 
##  1 <CompdrMt>   238285 Caladenia_amon… Caladenia amon… <NA>       Plantae Trach…
##  2 <CompdrMt>   238286 Caladenia_argo… Caladenia argo… <NA>       Plantae Trach…
##  3 <CompdrMt>   238287 Caladenia_clav… Caladenia clav… <NA>       Plantae Trach…
##  4 <CompdrMt>   238288 Caladenia_eleg… Caladenia eleg… <NA>       Plantae Trach…
##  5 <CompdrMt>   238289 Caladenia_gran… Caladenia gran… <NA>       Plantae Trach…
##  6 <CompdrMt>   238290 Caladenia_macr… Caladenia macr… <NA>       Plantae Trach…
##  7 <CompdrMt>   238291 Caladenia_oeno… Caladenia oeno… <NA>       Plantae Trach…
##  8 <CompdrMt>   238292 Caladenia_rose… Caladenia rose… <NA>       Plantae Trach…
##  9 <CompdrMt>   238293 Caladenia_vali… Caladenia vali… <NA>       Plantae Trach…
## 10 <CompdrMt>   238565 Epipactis_atro… Epipactis atro… Darkred h… Plantae Trach…
## # ℹ 637 more rows
## # ℹ 52 more variables: Class <chr>, Order <chr>, Family <chr>, Genus <chr>,
## #   Species <chr>, Infraspecies <chr>, InfraspeciesType <chr>,
## #   OrganismType <chr>, DicotMonoc <chr>, AngioGymno <chr>, Authors <chr>,
## #   Journal <chr>, SourceType <chr>, OtherType <chr>, YearPublication <chr>,
## #   DOI_ISBN <chr>, AdditionalSource <chr>, StudyDuration <dbl>,
## #   StudyStart <chr>, StudyEnd <chr>, ProjectionInterval <chr>, …
subset(index_O,DicotMonoc == "Eudicot" & 
              Country %in% c("USA", "CAN") & 
              MatrixDimension > 2)
## A COM(P)ADRE database ('CompadreDB') object with 0 SPECIES and 0 MATRICES.
## 
## # A tibble: 0 × 59
## # ℹ 59 variables: mat <list>, MatrixID <int>, SpeciesAuthor <chr>,
## #   SpeciesAccepted <chr>, CommonName <chr>, Kingdom <chr>, Phylum <chr>,
## #   Class <chr>, Order <chr>, Family <chr>, Genus <chr>, Species <chr>,
## #   Infraspecies <chr>, InfraspeciesType <chr>, OrganismType <chr>,
## #   DicotMonoc <chr>, AngioGymno <chr>, Authors <chr>, Journal <chr>,
## #   SourceType <chr>, OtherType <chr>, YearPublication <chr>, DOI_ISBN <chr>,
## #   AdditionalSource <chr>, StudyDuration <dbl>, StudyStart <chr>, …
#cdb_compare(index_O,x)


x <- subset(index_O,Family == "Orchidaceae")

x_OT=x %>% 
  group_by(OrganismType)
#Orchids_New=as_cdb(index)
#compadre$mat[index]

Compadre_flagged <- cdb_flag(index_O)

x <- subset(Compadre_flagged, check_NA_A == FALSE & check_ergodic == TRUE)

lambdaVals <- sapply(matA(x), popdemo::eigs, what="lambda")
summary(lambdaVals)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.3888  0.9635  0.9973  0.9944  1.0232  1.7760
hist(lambdaVals, main = "Lambda values")

library(purrr)
lambdaVals1 <- map_dbl(matA(x), ~popdemo::eigs(.x, what="lambda"))
 
 
#Or with popbio, which avoids some warning messages…
lambdaVals2 <- map_dbl(matA(x), ~popbio::lambda(.x))
x2=x %>% 
  mutate(OrganismType = case_when(
    Genus ==  "Caladenia" & OrganismType == "Epiphyte" ~ "Herbaceous perennial",
    TRUE ~ OrganismType
  ))

epi=x2 %>% 
  filter(OrganismType=="Epiphyte")

terr=x2 %>% 
  filter(OrganismType=="Herbaceous perennial")

Compadre_flagged <- cdb_flag(index_O)

x <- subset(Compadre_flagged, check_NA_A == FALSE & check_ergodic == TRUE)

lambdaVals <- sapply(matA(x), popdemo::eigs, what=“lambda”) summary(lambdaVals) hist(lambdaVals, main = “Lambda values”)

Compadre_flagged_epi <- cdb_flag(epi)

x_epi <- subset(Compadre_flagged_epi, check_NA_A == FALSE & check_ergodic == TRUE)

#sapply(matA(x_epi), popdemo::eigs, what="lambda")

library(purrr)
lambda_epi <- map_dbl(matA(x_epi), ~popdemo::eigs(.x, what="lambda"))

#Or with popbio, which avoids some warning messages…
lambda_terr <- map_dbl(matA(terr), ~popbio::lambda(.x))
summary(lambda_epi)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.3888  0.9874  0.9972  0.9784  1.0027  1.3592
hist(lambda_epi, main = "Lambda values")

summary(lambda_terr)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.4089  0.9349  1.0000  1.0053  1.0538  1.7760
hist(lambda_terr, main = "Lambda values")

df_Lamb_epi=as.data.frame(lambda_epi)
df_Lamb_epi=df_Lamb_epi %>% 
  add_column(Habit_Type = "Epiphyte") %>% 
  rename(lambda=lambda_epi)


df_Lamb_terr=as.data.frame(lambda_terr)
df_Lamb_terr=df_Lamb_terr %>% 
  add_column(Habit_Type = "Terrestrial")%>% 
  rename(lambda=lambda_terr)


ALL_Lambdas=rbind(df_Lamb_epi, df_Lamb_terr)
ggplot(ALL_Lambdas, aes(lambda, fill=Habit_Type ))+
  geom_histogram(colour="white") + 
  facet_wrap( ~Habit_Type)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

The number of populations

x2 %>% 
  group_by(SpeciesAccepted) %>% 
  summarize(n_populations = length(unique(MatrixPopulation))) %>% 
  arrange(desc(n_populations))
## # A tibble: 45 × 2
##    SpeciesAccepted          n_populations
##    <chr>                            <int>
##  1 Lepanthes rubripetala               20
##  2 Lepanthes rupestris                 14
##  3 Lepanthes caritensis                13
##  4 Cypripedium calceolus                9
##  5 Orchis purpurea                      7
##  6 Neotinea ustulata                    6
##  7 Serapias cordigera                   6
##  8 Cypripedium fasciculatum             4
##  9 Epipactis atrorubens                 4
## 10 Oeceoclades maculata                 4
## # ℹ 35 more rows
compadre_replicated_pops <- x2 %>% 
  group_by(SpeciesAccepted) %>% 
  mutate(n_pops = length(unique(MatrixPopulation))) %>% 
  ungroup() %>%
  subset(n_pops >= 10)

compadre_replicated_pops
## A COM(P)ADRE database ('CompadreDB') object with 3 SPECIES and 167 MATRICES.
## 
## # A tibble: 167 × 74
##    mat        MatrixID SpeciesAuthor   SpeciesAccepted CommonName Kingdom Phylum
##    <list>        <int> <chr>           <chr>           <chr>      <chr>   <chr> 
##  1 <CompdrMt>   238838 Lepanthes_rubr… Lepanthes rubr… <NA>       Plantae Magno…
##  2 <CompdrMt>   239751 Lepanthes_cari… Lepanthes cari… <NA>       Plantae Magno…
##  3 <CompdrMt>   239752 Lepanthes_cari… Lepanthes cari… <NA>       Plantae Magno…
##  4 <CompdrMt>   239753 Lepanthes_cari… Lepanthes cari… <NA>       Plantae Magno…
##  5 <CompdrMt>   239754 Lepanthes_cari… Lepanthes cari… <NA>       Plantae Magno…
##  6 <CompdrMt>   239755 Lepanthes_cari… Lepanthes cari… <NA>       Plantae Magno…
##  7 <CompdrMt>   239756 Lepanthes_cari… Lepanthes cari… <NA>       Plantae Magno…
##  8 <CompdrMt>   239757 Lepanthes_cari… Lepanthes cari… <NA>       Plantae Magno…
##  9 <CompdrMt>   239758 Lepanthes_cari… Lepanthes cari… <NA>       Plantae Magno…
## 10 <CompdrMt>   239759 Lepanthes_cari… Lepanthes cari… <NA>       Plantae Magno…
## # ℹ 157 more rows
## # ℹ 67 more variables: Class <chr>, Order <chr>, Family <chr>, Genus <chr>,
## #   Species <chr>, Infraspecies <chr>, InfraspeciesType <chr>,
## #   OrganismType <chr>, DicotMonoc <chr>, AngioGymno <chr>, Authors <chr>,
## #   Journal <chr>, SourceType <chr>, OtherType <chr>, YearPublication <chr>,
## #   DOI_ISBN <chr>, AdditionalSource <chr>, StudyDuration <dbl>,
## #   StudyStart <chr>, StudyEnd <chr>, ProjectionInterval <chr>, …
ggplot2::ggplot(x2, aes(Lon, Lat)) +
  borders(database = "world", fill = "grey80", col = NA) +
  geom_point(col = "steelblue", size = 1.8, alpha = 0.8)
## Warning: Removed 28 rows containing missing values (`geom_point()`).

# function to calculate life expectancy
lifeExpectancy <- function(matU, startLife) {
  N <- solve(diag(nrow(matU)) - matU)
  return(colSums(N)[startLife])
}

compadre_life_expect <- x2 %>%
  filter(MatrixComposite == "Mean", # filter is the dplyr version of subset
         MatrixTreatment == "Unmanipulated",
         MatrixCaptivity == "W",
         #ProjectionInterval == "1"
         ) %>% 
  mutate(StageID = cdb_id_stages(.)) %>%
  cdb_collapse(columns = "StageID") %>%
  cdb_flag() %>% 
  filter(check_NA_U == FALSE,
         check_zero_U == FALSE,
         check_singular_U == FALSE) %>% 
  mutate(matU = matU(.), start_life = mpm_first_active(.)) %>% 
  mutate(life_expectancy = mapply(lifeExpectancy, matU, start_life)) %>% 
 # filter(life_expectancy >= 1) %>% 
  mutate(OrganismType = reorder(OrganismType, life_expectancy, median))
## Warning in mpm_mean(x$mat): CompadreMat objects in given list do not all have
## the same MatrixClassOrganized. Returning MatrixClassOrganized from first list
## element
ggplot2::ggplot(compadre_life_expect, aes(OrganismType, life_expectancy)) +
  geom_boxplot() +
  scale_y_log10() +
  coord_flip() +
  labs(x = NULL, y = "Life expectancy (years)")
## Warning: Removed 1 rows containing non-finite values (`stat_boxplot()`).

library(Rcompadre)
library(popdemo)
## Welcome to popdemo! This is version 1.3-0
## Use ?popdemo for an intro, or browseVignettes('popdemo') for vignettes
## Citation for popdemo is here: doi.org/10.1111/j.2041-210X.2012.00222.x
## Development and legacy versions are here: github.com/iainmstott/popdemo
data(Compadre)


Compadre$matA <- matA(Compadre)

# create empty vector to store output
Compadre$dim <- numeric(nrow(Compadre))

index$dim <- numeric(nrow(index_O))
## Warning in index$dim <- numeric(nrow(index_O)): Coercing LHS to a list
# loop through all rows of Compadre
for (i in seq_len(nrow(Compadre))) {
  Compadre$dim[i] <- nrow(Compadre$matA[[i]])
}

# function to determine whether matrix 'mat' has any stages with no transitions
NullStages <- function(mat) any(colSums(mat) == 0)

# apply function to every element of A
Compadre$null_stages <- sapply(Compadre$matA, NullStages)

NullStages(Compadre$matA[[1]]) # apply function to single element
## [1] FALSE
Compadre$null_stages <- sapply(matA(Compadre), NullStages)

Traduccion del articulo Protocolo de información

Por: Grupo de Anne

Dinámica espacial y temporal de Encyclia bocourtii después de 15 años en la Península de Guanahacabibes, Cuba

Por: Ernesto y Elaine

Nhora

Por: Nhora

Impactos de datos sin sentido sobre los análisis de dinámica poblacional

Por: Raymond L. Tremblay

if (!require("pacman")) install.packages("pacman")
pacman::p_load("DiagrammeR", "Rage", "popdemo", "popbio", "interpretCI", 
               "MCMCpack", "ggplot2", "plyr", "reshape")

El valor principal de los estudios científicos proviene en que los datos representa una visión suficiente cerca a la realidad y sirve para inferir información sobre la ecología de la especie de interés. En ningún estudio ecológico se podrá obtener TODOS los datos para evaluar la relación biótica y abiótica sobre un organismos y todas sus interacciones. Ese modelo es primero demasiado complejo y irreal dentro del concepto de los trabajos científicos. El objetivo es tener una apreciación de los parámetros más importante para definir un cierto patrón o interacciones. Por consecuencia la base de todo estudios esta fundado en las unidades de los muestreos y de la recolección de datos. Si los datos no representa la realidad del estudio la interpretaciones de los análisis pudiese ser errónea. La matemática y sus ecuaciones y modelos no harán que la biología sea más cerca a la realidad si desde el principio los datos y el método de recolección de datos es erróneo.

En esta sección evaluamos diferentes aspectos de los análisis matriciales poblacional de projección y diferentes aspectos de la recolección de datos que pudiese ser problemáticos cuando uno considera la biología de una especie. La lista de “Impactos” no pretende incluir todos las posibles efecto de datos sin sentido, sino unos ejemplos si uno no considera estos problemas y cómo pueden distorsionar las interpretaciones. Por lo tanto, una advertencia a todos los biólogos de población para que estén consciente de estos temas.


Tamaño de muestra pequeño o eventos raros

Sin duda, el tema principal para el uso de PPM ha sido evaluar la proyección de población de especies raras o en peligro de extinción (otras cuestiones son ecológicas o evolutivas) (ref). En consecuencia, las especies raras o en peligro de extinción son naturalmente pequeñas y reduce el tamaño de la muestra del estudio o de algunas de las etapas/edades de la vida. Estos tamaños de muestra reducidos provocan estimaciones de parámetros y, a menudo, resultados sin sentido biológicos.


Sin Mortalidad/Supervivencia Perfecta

Considere una especie donde se recopilan datos de una especies Sp1 y la matriz de transición Sp1matU es la siguiente y la matriz de fertilidad es Sp1matF. Tenga en cuenta que ninguno de los individuos murió en la etapa adulta (supervivencia perfecta). En consecuencia, el tamaño de la población nunca disminuye o aumenta después de un período de tiempo. Bajo TODOS los modelos biológicamente realistas, esperaríamos que el tamaño de la población comenzaría a disminuir si una población no tiene reproducción. Pero en este caso como todos los individuos de la etapa sobreviven la población es eterna (algo irreal).

library(DiagrammeR)

Sp1matU <- rbind(
  c(0.0, 0.0, 0.0),
  c(0.5, 0.3, 0.0),
  c(0.0, 0.4, 1.0)
) # transition matrix

Sp1matF <- rbind(
  c(0.0, 0.0, 1.0),
  c(0.0, 0.0, 0.0),
  c(0.0, 0.0, 0.0)
) # fertility matrix

Sp1matA = Sp1matU+Sp1matF # TF matrix
library(Rage)
stages <- c("plantula", "juvenil", "adulto")

plot_life_cycle(Sp1matU, stages=stages, fontsize = 0)

Así si analizamos esta matriz asumimos que ninguno de los individuos en etapa adulta muere, en ningún momento!!!. Claramente esto no es realista. Para cualquier especie, la probabilidad de muerte en cualquier etapa nunca es cero (aunque podría ser muy pequeña) y, por lo tanto, nuestra matriz no tiene sentido. Considere una especie de árbol, como Sequoia, es probable que para los árboles grandes de esta especie la supervivencia sea muy alta entre un año y otro, pero nunca del 100%. Hay que deferenciar entre lo que se observa en periodo y las probabilidades a largo plazo. Es possible que en el sitio de muestreo NO se observo mortalidad de los arboles grandes entre dos periodos de muestreo, que resultaria en una mortalidad de zero pero no es un valor real a largo plazo.

En el siguiente script mostramos que la población no cambia después de 5-6 periodos y se mantiene cercana a uno y no cambia nada (usamos la matriz de transición sin fecundidad). Si no hay reclutas (matriz de fertilidad), el tamaño de la población debería reducirse con el tiempo. Todo modelos de transiciones que no incluye la matriz de fertilidad debería resultar en reducción de tamaño poblacional.

n=c(5,5,5)

library(popdemo)
library(popbio)
truelambda(Sp1matU)
##           [,1] [,2]
## [1,] 0.9999999    1
## [2,] 0.9999999    1
## [3,] 0.9999999    1
pop.projection(Sp1matU, n=n)$pop.changes
##  [1] 0.7333333 0.8909091 0.9632653 0.9885593 0.9965281 0.9989548 0.9996861
##  [8] 0.9999058 0.9999717 0.9999915 0.9999975 0.9999992 0.9999998 0.9999999
## [15] 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000

Suponga un pequeño cambio en la mortalidad.

Tenga en cuenta que en este nuevo modelo, aunque la tasa de supervivencia es muy cercana a cero (0,995) y, por consecuencia, es posible una disminución de la población en cada período de tiempo (aunque solo sea en una pequeña fracción). Siempre hay que considerar si esta taza de mortalidad es biologicamente real o es un resultado del tamaño de la muestra. Este valor sugiere que se muestreo 1000 individuos y que 995 sobrevivieron. Si el tamaño fue de 1000, uno pudiese tener confianza en el parámetro.

Sp1matU_2 <- rbind(
  c(0.0, 0.0, 0.0),
  c(0.5, 0.3, 0.0),
  c(0.0, 0.4, 0.995)
) # transition matrix

Sp1matF <- rbind(
  c(0.0, 0.0, 1.0),
  c(0.0, 0.0, 0.0),
  c(0.0, 0.0, 0.0)
) # fertility matrix

Sp1matA_2=Sp1matU_2+Sp1matF

pop.projection(Sp1matU_2, n=n)$pop.changes
##  [1] 0.7316667 0.8874829 0.9586555 0.9836264 0.9915311 0.9939504 0.9946832
##  [8] 0.9949045 0.9949712 0.9949913 0.9949974 0.9949992 0.9949998 0.9949999
## [15] 0.9950000 0.9950000 0.9950000 0.9950000 0.9950000

Irreductibilidad: No hay transiciones entre etapas

En el escenario actual, los juveniles no crecen para convertirse en adultos, todos los juveniles siguen siendo juveniles o mueren. Tenga en cuenta la figura del ciclo de vida donde no hay flechas que conecten a los juveniles con los adultos.

library(DiagrammeR)

Sp1matU_NT <- rbind(
  c(0.0, 0.0, 0.0),
  c(0.5, 0.7, 0.0),
  c(0.0, 0.0, 0.995)
) # transition matrix

Sp1matF <- rbind(
  c(0.0, 0.0, 1.0),
  c(0.0, 0.0, 0.0),
  c(0.0, 0.0, 0.0)
) # fertility matrix

Sp1matA_NT = Sp1matU_NT+Sp1matF # TF matrix
library(Rage)
stages <- c("plantula", "juvenil", "adulto")

plot_life_cycle(Sp1matU_NT, stages=stages, fontsize = 0)

Como lo muestra Caswell (2000) y explorado más recientemente por (stott2010?), las matrices deben de ser irreducibles. El concepto de irreductibilidad está asociado con el ciclo de vida de la especie y la matriz incluye las transiciones de todas las etapas a todas las demás etapas. A la figura del ciclo de vida anterior le faltan dos componentes importantes en la historia de vida de la especie, ningún juvenil crece para convertirse en adulto y ninguno de los adultos produce plántulas (semillas que crecen hasta convertirse en plántulas).

Una manera fácil de determinar si la matriz es irreducible es correr el siguiente script isIrreducible en el paquete (popdemo). Tenga en cuenta que, en este caso, el resultado es Falso para la matriz anterior.

isIrreducible(Sp1matU_NT) # para la matriz de transición, faltando una etapa de transición y fertilidad
## [1] FALSE
isIrreducible(Sp1matA_NT) # para la matriz TF, falta una etapa de transición
## [1] FALSE
# Ahora considerando Sp1matA_2

isIrreducible(Sp1matA_2) # incluye todas las transiciones y la fertilidad
## [1] TRUE

Ninguna supervivencia

La mortalidad es uno de los estadios del ciclo de vida de una especies, pero raramente se añade al ciclo de vida porque es implícito en los cálculos. A menudo se observa que la supervivencia de los individuos más pequeños o la primera etapa del ciclo de vida de una especie es muy arriesgada, donde la probabilidad de supervivencia es muy baja. Por ejemplo, la mayoría de las semillas no sobreviven para germinar. Esta es probablemente la norma en las orquídeas donde la producción de semillas es muy alta (a veces millones de semillas en una cápsula de semillas, es decir, Catasetum; ref), pero pocas germinan (ref). Sin embargo, esto no se limita a las orquídeas, en los árboles se puede observar el mismo patrón, por ejemplo, en Nothofagus pumilio el reclutamiento de plántulas fue inferior al 1,5 % Torres et al. (2015). NEED Other EXAMPLES OF NO SEED OR SEEDLING RECRUITMENTS.

Como es bien sconocido, la germinación de semillas en las orquídeas no es sencilla y muchas variables pueden influir en la germinación de semillas Rasmussen et al. (2015) ……. más detalle sobre lo que se conoce y lo que no se conoce…

En el gráfico del ciclo de vida actual, ninguna de las plántulas sobrevive o crece a la siguiente etapa. Tenga en cuenta que en la primera columna de la matriz de transición todos los valores son cero. La población puede haber comenzado con muchas (incluso miles) de plántulas, pero ninguna creció hasta convertirse en un juvenil o permaneció como plántula antes del siguiente muestreo. Esto da como resultado una matriz que es reducible isIrreducible = FALSO y en consecuencia no cumple con los requisitos necesarios.

library(DiagrammeR)

Sp1matU_NS <- rbind(
  c(0.0, 0.0, 0.0),
  c(0.0, 0.7, 0.0),
  c(0.0, 0.25, 0.995)
) # transition matrix

Sp1matF <- rbind(
  c(0.0, 0.0, 1.0),
  c(0.0, 0.0, 0.0),
  c(0.0, 0.0, 0.0)
) # fertility matrix

Sp1matA_NS = Sp1matU_NS+Sp1matF # TF matrix
library(Rage)
stages <- c("plantula", "juvenil", "adulto")

plot_life_cycle(Sp1matU_NS, stages=stages, fontsize = 0)
isIrreducible(Sp1matU_NS)
## [1] FALSE

Redondeo excesivo de valores

Uno de los errores más simples en la construcción de los elementos de la matriz es el error de redondeo excesivo u otras estimaciones que dan como resultado valores de supervivencia superiores a 1,00, lo que a veces da como resultado una supervivencia incluso superior al 100%. Una estimación de supervivencia de mayor de 1 es que de la nada aumenta la cantidad de individuos sin reproducción o clonaje.

Por ejemplo en un análisis de Serapia cordigera Pellegrino and Bellusci (2014). Aquí los autores evaluaron las transiciones entre latencia, plántulas, roseta vegetativa y floración. Aquí mostramos una de estas matrices que esta incluida en el material suplementario del articulo. Período de tiempo 2001-2002, A1.

library(DiagrammeR)

SerapiaU <- rbind(
  c(0.668, 0.122, 0.294, 0.401),
  c(0.128, 0.0, 0.0, 0.0),
  c(0.0, 0.302, 0.453, 0.366),
  c(0.214, 0.364, 0.185, 0.207)
) # transition matrix

SerapiaF <- rbind(
  c(0.0, 0.0, 0.0, 0.0),
  c(0.0, 0.0, 0.0, 0.0),
  c(0.0, 0.0, 0.0, 0.0),
  c(0.0, 0.0, 0.0, 0.0)
) # fertility matrix

SerapiaA = SerapiaU+SerapiaF # TF matrix
library(Rage)
stages <- c("latente", "plantulas", "vegetativa", "adulto")

plot_life_cycle(SerapiaA, stages=stages)
# Tenga en cuenta que la suma de supervivencia para la etapa inactiva es mayor que 1, igual a 1.01

Estimaciones de fertilidad y ciclo de vida

La importancia de considerar cómo se incluye la fertilidad en el ciclo de vida es extremadamente influyente en los resultados de los modelos, y si se considera erróneamente puede dar lugar a interpretaciones sin sentido. Mostramos algunos ejemplos de cómo estos pueden incluirse en el ciclo de vida y la matriz y dar como resultado problemas de causa. Vea el capitulo @ref(Fertilidad) para más detalle.

Ciclo de vida y etapa de fertilidad incorrectos

Suponga que tiene una especie en la que modela el ciclo de vida como plántula, juvenil y adulto. La fertilidad se mide como el número de semillas producidas por un adulto (número medio de semillas por adulto). Después de recopilar los cálculos de datos, se determina que el número medio de semillas por adulto es 11000. Si agregamos la matriz de transición y fertilidad a continuación y evaluamos el lambda y graficamos el crecimiento de la población con la función proyecto, tenemos un lambda de 4.93 y después de solo 5 períodos de tiempo, el número de adultos supera los 250,000. Por consecuencia, la estimación de la tasa de crecimiento de la población sería incorrecta y engañosa, donde 30% de 11,000 semillas crecen a ser plántulas, un total de 3,300 plantulas!!!

El error es que el valor en la matriz de fertilidad debería corresponder a la primera etapa de la matriz, en este caso la etapa de plántula. Por lo tanto, la esquina superior derecha de la matriz de fertilidad no debe ser la cantidad media de semillas por planta, sino la cantidad media de plántulas producidas por una planta adulta.

library(DiagrammeR)

Sp1matU_Fert <- rbind(
  c(0.0, 0.0, 0.0),
  c(0.3, 0.7, 0.0),
  c(0.0, 0.25, 0.995)
) # transition matrix

Sp1matF <- rbind(
  c(0.0, 0.0, 1100.0),
  c(0.0, 0.0, 0.0),
  c(0.0, 0.0, 0.0)
) # fertility matrix

Sp1matA_Fert = Sp1matU_Fert+Sp1matF # TF matrix
library(Rage)
stages <- c("plantula", "juvenil", "adulto")

lambda(Sp1matA_Fert)
## [1] 4.937718
# show change in population size
n
## [1] 5 5 5
pr <- project(Sp1matA_Fert, vector="n", time=5)
plot(pr) # Note that even after just 5 time periods, the number of adults is larger than 250,000 individuals

Si deseamos agregar una etapa de semilla, debemos incluir la etapa en nuestro modelo y matriz con una nueva etapa la etapa de semilla, y tener una estimación del número de semillas que germinan y se convierten en plántulas. En el caso de las orquídeas, es probable que sea una estimación difícil de lograr porque las semillas de las orquídeas son difíciles de seguir en la naturaleza a menos que se haya usado el método del paquete de semillas (ref) o se utilizó algún método de huella genética para determinar la procedencia de las semillas.

library(DiagrammeR)

Sp1matU_Fert2 <- rbind(
  c(0.0, 0.0, 0.0, 0.0),
  c(0.0001, 0.0, 0.0, 0.0),
  c(0.0, 0.3, 0.7, 0.0),
  c(0.0, 0.0, 0.25, 0.995)
) # transition matrix

Sp1matF2 <- rbind(
  c(0.0, 0.0, 0.0, 1100.0),
  c(0.0, 0.0, 0.0, 0.0),
  c(0.0, 0.0, 0.0, 0.0),
  c(0.0, 0.0, 0.0, 0.0)
) # fertility matrix

Sp1matA_Fert2 = Sp1matU_Fert2+Sp1matF2 # TF matrix
library(Rage)
stages <- c("semillas", "plantula", "juvenil", "adulto")

plot_life_cycle(Sp1matA_Fert2, stages=stages)
lambda(Sp1matA_Fert2)
## [1] 1.019805
# show change in population size
pr <- project(Sp1matA_Fert2, vector="n", time=5)
plot(pr) # Note that now the number of adults did not increase to the level of the previous model

En el ejemplo anterior no hemos incluido una etapa de latencia de semillas. En muchas especies de plantas, las semillas pueden permanecer latentes durante uno o más años. No se sabe si las semillas de las orquídeas están inactivas durante mucho tiempo (gale2010restricciones?), excepto para algunas especies que han demostrado que las semillas aún están vivas después de varios años en el suelo usando la prueba de tinción de tetrazolio Rasmussen and Whigham (1993) y Whigham et al. (2006). MAS REFERENCIAS!!


Problemas de análisis de datos

Estimaciones de intervalos de confianza incorrectas

Las estimaciones de dispersión en los parámetros de la matriz de supervivencia, transición, muerte y fertilidad son útiles de múltiples maneras. El enfoque más básico es comprender la incertidumbre en el parámetro como una función del tamaño de la muestra, los parámetros con gran dispersión deben verse con precaución. Los parámetros de dispersión pueden ser útiles para simulaciones y comprender la incertidumbre en los parámetros de población como lambda y la probabilidad de persistencia y extinción.

Los parámetros de supervivencia, muerte, estasis y transiciones NO se distribuyen normalmente ya que los valores van de cero a 1. Ningún valor puede ser menor que cero o mayor que uno, incluidos los intervalos de confianza del 95 % (limitados por 0 y 1). Si se usa la distribución gaussiana (normal) es probable que el IC del 95 % esté fuera de los límites. Supongamos que deseamos calcular la probabilidad de supervivencia de una etapa y sus intervalos de confianza del 95%.

Se deterimna que de 20 individuos 2 fallecen y 19 sobrevivieron entre el primer muestreo y el segundo.

  • Construya un intervalo de confianza del 95% de la proporción de individuos que murieron

Donde la proporción que murió es \(\hat{p}\) y el número que murió es \(n_d\) y \(n\) es el tamaño de la muestra

\[\hat{p}=\frac{n_d}{n}\] con una probabilidad de muerte del 20%.

p=1/20
p
## [1] 0.05

El IC del 95% de una proporción se calcula

\[ \hat{p}\pm Z_{0.05}*\sqrt{}(\frac{\hat{p}(1-\hat{p})}{n})\] - Z_{0.05} es el valor crítico de Z para un IC del 95% = 1.955. Nota que ese calculo, uno de los intervalos de confianza es negativo.

n=20
HCI=p+(1.96*sqrt((p*(1-p))/n)) # IC alto
HCI
## [1] 0.1455186
LCI=p-(1.96*sqrt((p*(1-p))/n)) # IC bajo
LCI # Nota que el valor es sin sentido, ya que es negativo
## [1] -0.04551858

Un método más fácil es usar la función R propCI de la biblioteca(interceptCI)

library(interpretCI)

resultado=propCI(n=20, p=0.05, alpha=0.05)

resultado
## $data
## # A tibble: 1 × 1
##   value
##   <lgl>
## 1 NA   
## 
## $result
##   alpha  n df    p P         se critical         ME       lower     upper
## 1  0.05 20 19 0.05 0 0.04873397 1.959964 0.09551683 -0.04551683 0.1455168
##                        CI        z    pvalue alternative
## 1 0.05 [95CI -0.05; 0.15] 1.025978 0.3049018   two.sided
## 
## $call
## propCI(n = 20, p = 0.05, alpha = 0.05)
## 
## attr(,"measure")
## [1] "prop"

Distribución Dirichlet de intervalo de confianza

Sin embargo, ¿cómo se calcula el IC del 95% cuando hay más de 2 proporciones? Debido a que la proporción de todas las etapas depende de la proporción de las otras etapas, el análisis debe considerar la proporción y el IC del 95% debe incluir todas las etapas simultáneamente. La función requerida es la función de Dirichlet multinomial (multigrupo).

En el análisis estimamos los intervalos de confianza del 95% de la transición y estasis de plántulas a plántulas (50%), juveniles (20%), adultos (0%) y muerte (30%). Tenga en cuenta el gráfico del ciclo de vida que, como de costumbre, excluye la probabilidad de que mueran las plántulas.

Dirichlet <- rbind(
  c(0.5, 0.0, 0.0),
  c(0.2, 0.0, 0.0),
  c(0.0, 0.3, 0.7)
) # transition matrix

library(Rage)
stages <- c("plantula", "juvenil", "adulto")

plot_life_cycle(Dirichlet, stages=stages)

Para evaluar el intervalo IC del 95% simultáneamente de las cuatro transiciones, usamos la library(MCMCpack), que es un paquete dedicado a realizar simulaciones de Markov Chain Monte Carlo. Usaremos la función MCmultinomdirichlet. Tenga en cuenta que la primera lista son las proporciones que se muestran en la matriz para la etapa de plántula c(.50n,.02n,.0n,.3n) multiplicadas por el tamaño de la muestra n= 25. La segunda lista son los priores bayesianos c(.5,.2,0.0001,.3), en este caso asumí que la suma de los previos es igual a 1. Esto da como resultado una confianza muy baja en la percepción previa de lo que es la transiciones. Otro tipo de previa para la transición es que sean iguales, sin embargo, podríamos haber usado c(1,1,0,.000001, 1), donde este previo sugiere una transición igual para todos menos las plántulas que hay muy poca probabilidad que crezcan hasta convertirse en adultos.

El concepto de lo anterior no se puede explicar completamente aquí, consulte las siguientes referencias para obtener información más detallada. ANADIR referencias sobre previas…..

Los resultados en la figura muestran que hay mucha dispersión alrededor de la proporción media de las estadísticas y la transición como se esperaba debido al pequeño tamaño de la muestra.

library(MCMCpack)
n=25
L=posteriorPRIORL <- MCmultinomdirichlet(c(.50*n,.2*n,.0*n,.3*n), c(.5,.2,0.0001,.3), mc=10000)
dfL=as.data.frame(L)
t(summary(dfL))
##                                                                      
##      pi.1 Min.   :0.1871      1st Qu.:0.4338      Median :0.4995     
##      pi.2 Min.   :0.01594     1st Qu.:0.14297     Median :0.19166    
##      pi.3 Min.   :0.000e+00   1st Qu.:0.000e+00   Median :0.000e+00  
##      pi.4 Min.   :0.05974     1st Qu.:0.23753     Median :0.29581    
##                                                                      
##      pi.1 Mean   :0.4995      3rd Qu.:0.5646      Max.   :0.8218     
##      pi.2 Mean   :0.19924     3rd Qu.:0.24803     Max.   :0.55177    
##      pi.3 Mean   :2.407e-06   3rd Qu.:0.000e+00   Max.   :1.467e-02  
##      pi.4 Mean   :0.30125     3rd Qu.:0.35902     Max.   :0.66143
#head(dfL)
stack_dfL=stack(dfL)
comb_dfbL= cbind(stack_dfL, T="25")

All_Data3=comb_dfbL
levels(All_Data3$ind)[levels(All_Data3$ind)=="pi.1"]="Plantulas"
levels(All_Data3$ind)[levels(All_Data3$ind)=="pi.2"]="Juvenil"
levels(All_Data3$ind)[levels(All_Data3$ind)=="pi.3"]="Adulto"
levels(All_Data3$ind)[levels(All_Data3$ind)=="pi.4"]="Muerto"

library(ggplot2)
ggplot(data=All_Data3, aes(x=values, fill=ind, colour=ind))+
  geom_density(aes(alpha=.5)) +
  scale_y_continuous(limit=c(0, 5.5))+
  scale_colour_hue(l=60)+
  facet_grid(~ind)

Ahora calculemos el IC del 95% de las transiciones

  • Intervalos de confianza de transiciones, estasis y supervivencia basados en simulación y distribución de Dirichlet.

Aspectos importantes a tener en cuenta.

  • los IC del 95% están acotados entre 0 y 1. Los valores por debajo de cero o por encima de uno en los parámetros no tendrían sentido.
  • la suma de la media es igual a 1.
  • la suma de la mediana es igual a 1.
  • la forma de la distribución NO se distribuye normalmente, ver figura anterior. La forma de la distribución se llama distribución beta.
library(plyr)
library(reshape2)
## 
## Attaching package: 'reshape2'
## The following objects are masked from 'package:reshape':
## 
##     colsplit, melt, recast
## The following object is masked from 'package:tidyr':
## 
##     smiths
Transitions=ddply(All_Data3, c("ind"), summarise,
            mean = round(mean(values),3), sd = round(sd(values),4),
            median= median(values),
            #sem = round(sd(values)/sqrt(length(values)),6),
            CI5 = quantile(values, probs = c(0.05)),
            CI95 = round(quantile(values, probs = c(0.95)), 4),
            min=min(values),
            max=max(values)
            )

Transitions
##         ind  mean     sd    median        CI5   CI95        min        max
## 1 Plantulas 0.500 0.0959 0.4994522 0.34020850 0.6590 0.18712032 0.82176938
## 2   Juvenil 0.199 0.0767 0.1916562 0.08731228 0.3371 0.01594345 0.55176753
## 3    Adulto 0.000 0.0002 0.0000000 0.00000000 0.0000 0.00000000 0.01467016
## 4    Muerto 0.301 0.0881 0.2958114 0.16637504 0.4535 0.05974046 0.66142547

Para comparar con el ejemplo anterior asumimos que en lado de tener solamente 25 plantas teníamos 250 plantas para los estimados.

Nota que la mediana sigue en el mismo lugar (casi) pero los IC cambian mucho y es más reducido, ya que con más datos en el muestreo resulta en más confianza y reducción en el IC. Este analisis es primordial para enterder la confianza que uno debería tener sobre los estimados de los parámetros de la matriz. Un ejemplo si se observa un IC muy grande eso pudiese ser utilizado para modificar la recolección de datos en el campo para aumentar el tamaño de muestra de esa etapa de vida.

b=250
L=posteriorPRIORL <- MCmultinomdirichlet(c(.50*b,.2*b,.0*b,.3*b), c(.5,.2,0.0001,.3), mc=10000)
dfL=as.data.frame(L)
t(summary(dfL))
##                                                                      
##      pi.1 Min.   :0.3792      1st Qu.:0.4786      Median :0.4999     
##      pi.2 Min.   :0.1134      1st Qu.:0.1821      Median :0.1987     
##      pi.3 Min.   :0.000e+00   1st Qu.:0.000e+00   Median :0.000e+00  
##      pi.4 Min.   :0.2012      1st Qu.:0.2807      Median :0.2996     
##                                                                      
##      pi.1 Mean   :0.5002      3rd Qu.:0.5216      Max.   :0.6256     
##      pi.2 Mean   :0.1995      3rd Qu.:0.2162      Max.   :0.2960     
##      pi.3 Mean   :1.354e-07   3rd Qu.:0.000e+00   Max.   :7.586e-04  
##      pi.4 Mean   :0.3003      3rd Qu.:0.3190      Max.   :0.4244
#head(dfL)
stack_dfL=stack(dfL)
comb_dfbL= cbind(stack_dfL, T="25")

All_Data4=comb_dfbL
levels(All_Data4$ind)[levels(All_Data3$ind)=="pi.1"]="Plantulas"
levels(All_Data4$ind)[levels(All_Data3$ind)=="pi.2"]="Juvenil"
levels(All_Data4$ind)[levels(All_Data3$ind)=="pi.3"]="Adulto"
levels(All_Data4$ind)[levels(All_Data3$ind)=="pi.4"]="Muerto"

library(ggplot2)
ggplot(data=All_Data4, aes(x=values, fill=ind, colour=ind))+
  geom_density(aes(alpha=.5)) +
  scale_y_continuous(limit=c(0, 18))+
  scale_colour_hue(l=60)+
  facet_grid(~ind)

library(plyr)
library(reshape2)

Transitions=ddply(All_Data4, c("ind"), summarise,
            mean = round(mean(values),3), sd = round(sd(values),4),
            median= median(values),
            #sem = round(sd(values)/sqrt(length(values)),6),
            CI5 = quantile(values, probs = c(0.05)),
            CI95 = round(quantile(values, probs = c(0.95)), 4),
            min=min(values),
            max=max(values)
            )

Transitions
##    ind mean     sd    median       CI5   CI95       min          max
## 1 pi.1  0.5 0.0315 0.4998653 0.4485591 0.5524 0.3791883 0.6256454973
## 2 pi.2  0.2 0.0253 0.1986691 0.1592287 0.2426 0.1133726 0.2960040224
## 3 pi.3  0.0 0.0000 0.0000000 0.0000000 0.0000 0.0000000 0.0007586357
## 4 pi.4  0.3 0.0283 0.2995600 0.2551421 0.3484 0.2012186 0.4243661242

Diferentes_componentes_de_Ciclo_de_vida

Por: Anne, Fabiola, Aucencia: ECOSUR

El capitulo sera movido a otra posicion en el libro

titulo: “diferentes_componentes_de_Ciclo_de_vida”

Hojas de datos en el campo

Por: RLT, Nhora, Demetria, Anne….

La hoja de recoleccion de datos deberia estar preparada antes de ir al campo y estar sobre papel que es impermeable y escribir con lapiz. Ese ultimo punto es bien importante ya que la gran mayoria de los boligrafos son soluble en agua y si el papel se moja ud puede perder sus daos. RECUERDA que no se puede regresar en el tiempo y recoger los datos. Si Ud tiene su hoja de datos en el laboratorio y se le cae la taza cafe y fue escrito con boligrafo se puede perder los datos. No se arriega.

es importante tener la lista completa de todos los individuos en la hoja de datos, ya que esto le ayuda asegurarse durante el muestreo que no se le olvida ningun individuo. Datos olvidado no se puede recuperar

Hoja en blanco para llevarse

library(tidyverse)
library(gt)
Hoja_de_campo = tribble(
  ~Número_de_Ind, ~Etapa, ~Cantidad_flores_abierta, ~Cantidad_capullo, ~ Cantidad_Frutos, ~Numero_Hojas, ~Ancho_hoja_mm, ~etc,
  23001,"...","...","...","...","...","...","...",
  23002,"...","...","...","...","...","...","...",
  23003,"...","...","...","...","...","...","...",
  23004,"...","...","...","...","...","...","...",
  23005,"...","...","...","...","...","...","...",
  24006,"...","...","...","...","...","...","...",
  24007,"...","...","...","...","...","...","...",
  24008,"...","...","...","...","...","...","...",
  
)

Hoja_de_campo %>% gt()
Número_de_Ind Etapa Cantidad_flores_abierta Cantidad_capullo Cantidad_Frutos Numero_Hojas Ancho_hoja_mm etc
23001 ... ... ... ... ... ... ...
23002 ... ... ... ... ... ... ...
23003 ... ... ... ... ... ... ...
23004 ... ... ... ... ... ... ...
23005 ... ... ... ... ... ... ...
24006 ... ... ... ... ... ... ...
24007 ... ... ... ... ... ... ...
24008 ... ... ... ... ... ... ...

Usando ejemplo de Tremblay [] y su codificación

  • p == plantula.
  • j == juvenil
  • A0 == adulto non-reproductivo
  • A1 == adulto reproductivo
  • M = muerto

Hoja llena al final del muestreo

library(tidyverse)
library(gt)
Hoja_llena = tribble(
  ~Número_de_Ind, ~Etapa, ~Cantidad_flores_abierta, ~Cantidad_capullo, ~ Cantidad_Frutos, ~Numero_Hojas, ~Ancho_hoja_mm, ~etc,
  23001,"p",NA, NA,NA,NA,NA,NA,
  23002,"j",NA, NA,NA,2,10,NA,
  23003,"A1",5, 10,1, 5,32,NA,
  23004,"Ao",0, 0,0,2,14,NA,
  23005,"m",NA, NA,NA,NA,NA,NA,
  24006,"p",NA, NA,NA,NA,NA,NA,
  24007,"j",NA, NA,NA,1,7,NA,
  24008,"p",NA, NA,NA,NA,NA,NA,
  
)

Hoja_llena %>% gt()
Número_de_Ind Etapa Cantidad_flores_abierta Cantidad_capullo Cantidad_Frutos Numero_Hojas Ancho_hoja_mm etc
23001 p NA NA NA NA NA NA
23002 j NA NA NA 2 10 NA
23003 A1 5 10 1 5 32 NA
23004 Ao 0 0 0 2 14 NA
23005 m NA NA NA NA NA NA
24006 p NA NA NA NA NA NA
24007 j NA NA NA 1 7 NA
24008 p NA NA NA NA NA NA

Nota que solamente los individuos 23003 y 23004 son adultos, uno tiene flores, capullos y frutos y el otro nada. A todos los adultos hay que llenar la informacion, no dejarlo en blanco. Para las otras etapas, no es necesario llenar la mayoria de las columnas ya que para las plantulas y muertos no PUEDEN tener esas, pero los juveniles, se puede llenar la cantidad de hojas y sus tamaño. Nota que el individuo 23005 se murio.

Esa misma estructura de recoger los dados puede ser utilizado para ponerlo en una hoja de MSExcel, Google Sheet o MacOS Numbers.

Nombre del capitulo.

All chapters start with a first-level heading followed by your chapter title, like the line above. There should be only one first-level heading (#) per .Rmd file.

A section

Otra seccion

All chapter sections start with a second-level (##) or higher heading followed by your section title, like the sections above and below here. You can have as many as you want within a chapter.

A subsection

The subtopic

More subdivision

Even more subdivision

An unnumbered section

Chapters and sections are numbered by default. To un-number a heading, add a {.unnumbered} or the shorter {-} at the end of the heading, like in this section.

Remember not to use only 1 # as this indicates a new chapter

NOTE the size of font changes with the number #

NOTE the size of font changes with the number #

NOTE the size of font changes with the number #

NOTE the size of font changes with the number #

Don’t miss Table @ref(tab:nice-table).

Cross-references

Cross-references make it easier for your readers to find and link to elements in your book.

Chapters and sub-chapters

There are two steps to cross-reference any heading:

  1. Label the heading: # Hello world {#nice-label}.

    • Leave the label off if you like the automated heading generated based on your heading title: for example, # Hello world = # Hello world {#hello-world}.

    • To label an un-numbered heading, use: # Hello world {-#nice-label} or {# Hello world .unnumbered}.

  2. Next, reference the labeled heading anywhere in the text using \@ref(nice-label); for example, please see Chapter @ref(intro).


Captioned figures and tables

Figures and tables with captions can also be cross-referenced from elsewhere in your book using \@ref(fig:chunk-label) and \@ref(tab:chunk-label), respectively.

See Figure @ref(fig:nice-fig).

par(mar = c(4, 4, .1, .1))
plot(pressure, type = 'b', pch = 19)
Here is a nice figure!

Here is a nice figure!

Don’t miss Table @ref(tab:nice-table).

knitr::kable(
  head(pressure, 10), caption = 'Here is a nice table!',
  booktabs = TRUE
)
Here is a nice table!
temperature pressure
0 0.0002
20 0.0012
40 0.0060
60 0.0300
80 0.0900
100 0.2700
120 0.7500
140 1.8500
160 4.2000
180 8.8000

(Appendix) List of epiphyitc species

You can add parts to organize one or more book chapters together. Parts can be inserted at the top of an .Rmd file, before the first-level chapter heading in that same file.

Add a numbered part: # (PART) Act one {-} (followed by # A chapter)

Add an unnumbered part: # (PART\*) Act two {-} (followed by # A chapter)

Add an appendix as a special kind of un-numbered part: # (APPENDIX) Other stuff {-} (followed by # A chapter). Chapters in an appendix are prepended with letters instead of numbers.

(Appendix) List of terrestrial species

Footnotes and citations

Footnotes

Footnotes are put inside the square brackets after a caret ^[]. Like this one 1.

Let’s add a second footnote. In this case we add information on the origin of matrix algebra 2

Mi tercer footnote es filosofico 3

Citations

Reference items in your bibliography file(s) using @key.

For example, we are using the bookdown package (Xie 2023) (check out the last code chunk in index.Rmd to see how this citation key was added) in this sample book, which was built on top of R Markdown and knitr (Xie 2015) (this citation was added manually in an external file book.bib). Note that the .bib files need to be listed in the index.Rmd with the YAML bibliography key.

Here is second citation.

Evolutionary processes in orchids are likely to be a interaction between natural selection and genetic drift (Tremblay et al. 2005).

Here is a third citation

un articulo de Damon excepcional (Damon 2000)

Blocks

Equations

Here is an equation.

\[\begin{equation} f\left(k\right) = \binom{n}{k} p^k\left(1-p\right)^{n-k} (\#eq:binom) \end{equation}\]

You may refer to using \@ref(eq:binom), like see Equation @ref(eq:binom).

– this is the script to make the equation connectable in the text

** that the .... are to make the text visual

Theorems and proofs

Labeled theorems can be referenced in text using \@ref(thm:tri), for example, check out this smart theorem @ref(thm:tri).

::: {.theorem #tri} For a right triangle, if \(c\) denotes the length of the hypotenuse and \(a\) and \(b\) denote the lengths of the other two sides, we have \[a^2 + b^2 = c^2\]

A site to help create your equations \[\bar{x}=\frac{\sum x_{i}}{n}\]

https://latex.codecogs.com/eqneditor/editor.php

Ahora se enseña la formula del promedio @ref(thm:promedio)

\[\bar{x}= \frac{\sum x_{i}}{n}\]

Si quiere la ecuación en la linea usa solamente un “$” antes y despues de la formula. El promedio tiene la siguiente formula \(\bar{x}= \frac{\sum x_{i}}{n}\) y la varianza se estima tomando la diferencia entre los valores y el promedio.

Read more here https://bookdown.org/yihui/bookdown/markdown-extensions-by-bookdown.html.


Callout blocks

The R Markdown Cookbook provides more help on how to use custom blocks to design your own callouts: https://bookdown.org/yihui/rmarkdown-cookbook/custom-blocks.html

Sharing your book

Publishing

HTML books can be published online, see: https://bookdown.org/yihui/bookdown/publishing.html

404 pages

By default, users will be directed to a 404 page if they try to access a webpage that cannot be found. If you’d like to customize your 404 page instead of using the default, you may add either a _404.Rmd or _404.md file to your project root and use code and/or Markdown syntax.

Metadata for sharing

Bookdown HTML books will provide HTML metadata for social sharing on platforms like Twitter, Facebook, and LinkedIn, using information you provide in the index.Rmd YAML. To setup, set the url for your book and the path to your cover-image file. Your book’s title and description are also used.

This gitbook uses the same social sharing data across all chapters in your book- all links shared will look the same.

Specify your book’s source repository on GitHub using the edit key under the configuration options in the _output.yml file, which allows users to suggest an edit by linking to a chapter’s source file.

Read more about the features of this output format here:

https://pkgs.rstudio.com/bookdown/reference/gitbook.html

Or use:

?bookdown::gitbook

References

Taller de Dinamica Poblacional

Esta sección tiene objetivo de presentar una sinopsis de un taller de 3 dias sobre el uso de matrices para el estudio de Dinámica poblacional.

Lugar: Universidad Nacional de San Antonio Abad del Cusco, Perú Fecha del taller: 24-26 Noviembre 2023

Impartido por:

Dr. Raymond L. Tremblay:

Universidad de Puerto Rico Presidente de Analítica Fundación, Inc

e-mail:

Dra. Nhora Helena Ospina-Calderón:

Pontificia Universidad Javeriana Seccional Cali Profesora-investigadora

e-mail:

Duración del taller:

Tres días con 26 horas totales de Taller-teórico practico con una experiencia de recolección de datos en el campo (8 horas) y dos días de taller–teórico practico y análisis de datos (14 horas). Instrucción en español.

Certificación A nombre de la

  • Universidad Nacional San Antonio Abad del Cusco (UNSAAC)

  • ANALITICA Fundación Inc. (Puerto Rico)

Costo del taller Estudiantes:

S/. xxx.00 nuevos soles ($ 100.00 dol.) locales.

Profesionales: S/. xxx.00 nuevos soles ($200.00 dol.) Estudiantes internacional y profesionales

Cupo: 25 personas

Introducción

Este taller teórico-práctico se ofrece a los estudiantes interesados en orquídeas y a las personas interesadas en la conservación de plantas. Los métodos se enfocarán en el uso de las matrices de Lefkovitch para construir modelos de historia de vida que sirven a su vez para evaluar si una población de una especie es estable, está creciendo o se está reduciendo. Para evaluar el crecimiento de las poblaciones se utiliza el método de marcar y recapturar (monitorear) individuos en el campo, dicho método se aplicará para hacer Matrices de Proyección de Poblaciones (MPP). Se dará énfasis en el manejo para el almacenamiento y sistematización de datos. Los datos recolectados en el campo serán utilizados para construir una base de datos que almacene las evidencias recogidas en el campo y funcione como insumo para calcular las matrices de transiciones. Posterior a la construcción de matrices de transición se analizará las tasas de crecimiento (crecimiento poblacional intrínseco), estimando los errores y los intervalos de confianza con distribución beta para cada una de las transiciones. También se llevará a cabo análisis de elasticidad y la proyección del tamaño de la población. Todos los análisis serán preparados y llevados a cabo en R, Rstudio y RMarkdown (todos programas de distribución libre).

Objetivo general:

Introducir las bases teóricas y prácticas para la recolección de datos de campo que permiten determinar la probabilidad de extinción de una población.

Objetivos específicos:

• Conocer las bases teóricas y los métodos modernos de recolección de datos en el campo para determinar la probabilidad de extinción de una población.


• Conocer los datos básicos y su correcta manipulación para determinar la viabilidad de una población.

• Manipular correctamente los archivos electrónicos de datos de campo para proponer la estructura de la población y su posterior depuración para análisis sobre diferentes formatos.

• Aprender nociones básicas de Excel, R y RStudio para editar y analizar conjuntos de datos para el uso con análisis de MPP.

• Construir un gráfico de ciclo de vida para la especie estudiada.

• Construir modelos demográficos que permitan predecir la dinámica poblacional en el tiempo y generar insumos importantes para el manejo y la conservación

• Estimar los intervalos de confianza de los parámetros del ciclo de vida de la población.

• Utilizar la información y análisis demográfico para el diagnóstico y predicciones de la viabilidad de las poblaciones.

• Modelar el tamaño poblacional de la población de estudio para determinar su posible riesgo de extinción

Introducción

23 noviembre- Llegada a Cusco

  • 8:00 pm- 9:15pm

    • Introducción al taller y Presentación de conceptos básicos (Capítulo 2; Tremblay)
    • Diagrama del ciclo de vida (Capítulo 3; Ospina)
    • Preparación del viaje de campo

24 noviembre: Viaje de campo

  • Salida 6:00 am - Llegada 8:15 am.

    • Llegada al sitio de muestreo campo
  • 8:30am- 5:00pm.

    • Determinación de la especie a estudiar (Ospina y Tremblay)

    • Métodos de recolección de datos (Capítulo 4 y 22; Ospina y Tremblay)

    • Recolección de datos

25 noviembre:

8:30 pm-10:30 pm

  • Teoria: - Proponer un ciclo de vida (Capítulo 3) - Quien se reproduce y como calcular la fecundidad (Capitulo 6) - Como se ama la matriz (3 x 3) y ejercicio (Capítulo 5)
    • Subir la matriz a mano
      • Multiplicación del vector (N en el tiempo t) con la matriz = Nt+1

10:30am – 12:00pm

  • Introducción a la teoria de MPP - crecimiento asimtotico (Capítulo 9) - elasticidad (Capitulo 10) - estructura estable (Capitulo Nuevo) - valor reproductivo (Capitulo Nuevo)

Almuerzo 12:00- 1:00pm

1:00pm - 2:30 pm

  • Organización de los datos en Excel/Numbers/Sheet, estructura de la población (Capítulo 4 y 22; Ospina y Tremblay)

2:30pm – 5:30pm

  • Introducción a R, RStudio y RMarkdown y paquetes de análisis. (Tremblay)

  • Subir los datos a RStudio, análisis preliminar de los datos usando popdemo y raretrans (Ospina y Tremblay)

    • Métodos para calcular contruir la matriz (Capítulo 8, Tremblay)
    • Incluir la fecundidad (Capítulo 6)
    • Matriz bayesiana a priori (Capítulo 8, Tremblay)
    • Calcular los indices de Oquídea cuscanensis
      • crecimiento asintótico (Capítulo 9)
      • elasticidad (Capítulo 10)
      • estructura estable (Capítulo Nuevo)
      • valor reproductivo (Capítulo Nuevo)

26 noviembre:

8:30 pm-10:30 pm

  • - Descripción histórica del uso y aplicaciones de MPP (Capítulo 2, 16: Tremblay)

10:30am – 12:00pm

  • Dinamica transitoria transfer function (Capítulo 12; Ospina)

  • Dinámica, análisis de viabilidad poblacional: el futuro de la especie (Capítulo 9: Tremblay)

Almuerzo 12:00- 1:00pm

1:00pm – 4:30pm

  • Estudio de casos, asignaciones de tarea.
    • Caladenia xxx, Terrestre con latencia
    • Dracula chimaera, Epífita y Terrestre
    • Dendrophylax lindenii, Epífita áfila

4:30pm – 5:30pm

  • Presentaciones de trabajo (20 minutos por grupo, 10 minutos de preguntas)

Materiales necesarios:

  1. Computadora portátil (Mac o PC) con Excel, R y Rstudio
  • Los participantes pueden trabajar en parejas en caso de que sea difícil conseguir una computadora portatil.
  • Es necesario acudir a las sesiones teórica/práctica con los programas y paquetes previamente instalados, se enviará instrucciones y brindará oportuna asesoría.
  • La instalación de los programados se harán una semana antes del taller, en una conferencia por ZOOM.

Bibliografía

Gascoigne Samuel J. L., Simon Rolph, Daisy Sankey, Nagalakshmi Nidadavolu, Adrian S. Stell Pičman, Christina M. Hernández, Matthew Philpott, Aiyla Salam, Connor Bernard, Erola Fenollosa, Jessie McLean, Shathuki Hetti Achchige Perera, Oliver G. Spacey, Maja Kajin, Anna C. Vinton, C. Ruth Archer, Jean H. Burns, Danielle L. Buss, Hal Caswell, Judy P. Che-Castaldo, Dylan Z. Childs, Pol Capdevila, Aldo Compagnoni, Elizabeth Crone, Thomas H. G. Ezard, Dave Hodgson, Owen Jones, Eelke Jongejans Jenni McDonald, Brigitte Tenhumberg, Chelsea C. Thomas, Andrew J. Tyre, Satu Ramula, Iain Stott, Raymond L. Tremblay, Phil Wilson, James W. Vaupel, and Roberto Salguero-Gómez.. 2023. A standard protocol to report discrete stage-structured demographic information. Submitted to Methods in Ecology and Evolution. In press.

Stott, I., Hodgson, D. J., & Townley, S. (2012). Beyond sensitivity: nonlinear perturbation analysis of transient dynamics. Methods in Ecology and Evolution. 3(4), 673-684. doi: 10.1111/j.2041-210X.2012.00199.x

Stott, I., Hodgson, D. J., & Townley, S. (2012b). Popdemo: An R package for population demography using projection matrix analysis. Methods in Ecology and Evolution, 3(5), 797-802. https://doi.org/10.1111/j.2041-210X.2012.00222.x

Stott, I., Townley, S., & Hodgson, D. J. (2011). A framework for studying transient dynamics of population projection matrix models. Ecology Letters, 14(9), 959-970. doi: 10.1111/j.1461-0248.2011.01659.x

Tremblay, R. L., & Hutchings, M. J. (2002). Population dynamics in orchid conservation: a review of analytical methods based on the rare species Lepanthes eltoroensis. Orchid conservation. Kota Kinabalu: Natural History Publications (Borneo), 183-204.

Tremblay, R. L., Raventos, J., & Ackerman, J. D. (2015). When stable-stage equilibrium is unlikely: integrating transient population dynamics improves asymptotic methods. Annals of Botany, 116(3), 381-390. doi:10.1093/aob/mcv031

Tremblay, R. L., Tyre, A. J., Pérez, M. E., & Ackerman, J. D. (2021). Population projections from holey matrices: Using prior information to estimate rare transition events. Ecological Modelling, 447, 109526. https://doi.org/10.1016/j.ecolmodel.2021.109526.

Que conocemos de estas especies?

Especies reportadas de en el sitio de muestreo (día uno)

  • Cyrtochilum cimiciferum (Rchb.f.) Dalström (Tiene una gran población)

  • Cyrtochilum myanthum (Lindl.) Kraenzl.1917

  • Epidendrum chalmersii Hágsater & Ric. Fernández 2013 (endémico de la región Cusco)

  • Epidendrum syringothyrsus Rchb.f. ex Hook.f. 1875

  • Pleurothallis casapensis Lindl. 1842

  • Habenaria sp.

  • Cyclopogon sp.

Aide, T Mitchell, Matthew L Clark, H Ricardo Grau, David López-Carr, Marc A Levy, Daniel Redo, Martha Bonilla-Moheno, George Riner, Marı́a J Andrade-Núñez, and Marı́a Muñiz. 2013. “Deforestation and Reforestation of l Atin a Merica and the c Aribbean (2001–2010).” Biotropica 45 (2): 262–71.
Caswell, Hal. 2000. Matrix Population Models. Vol. 1. Sinauer Sunderland, MA.
Cook, Robert E. 1983. “Clonal Plant Populations: A Knowledge of Clonal Structure Can Affect the Interpretation of Data in a Broad Range of Ecological and Evolutionary Studies.” American Scientist 71 (3): 244–53.
Crouse, Deborah T, Larry B Crowder, and Hal Caswell. 1987. “A Stage-Based Population Model for Loggerhead Sea Turtles and Implications for Conservation.” Ecology 68 (5): 1412–23.
Crowder, Larry B, Deborah T Crouse, Selina S Heppell, and Thomas H Martin. 1994. “Predicting the Impact of Turtle Excluder Devices on Loggerhead Sea Turtle Populations.” Ecological Applications 4 (3): 437–45.
Damon, Anne. 2000. “A Review of the Biology and Control of the Coffee Berry Borer, Hypothenemus Hampei (Coleoptera: Scolytidae).” Bulletin of Entomological Research 90 (6): 453–65.
Harris, Grant M, Matthew J Butler, David R Stewart, and James W Cain III. 2022. “The Abundance and Persistence of Caprinae Populations.” Scientific Reports 12 (1): 13807.
McGraw, James B, and Hal Caswell. 1996. “Estimation of Individual Fitness from Life-History Data.” The American Naturalist 147 (1): 47–64.
Nunney, Leonard, and Kathleen A Campbell. 1993. “Assessing Minimum Viable Population Size: Demography Meets Population Genetics.” Trends in Ecology & Evolution 8 (7): 234–39.
Parés-Ramos, Isabel K, William A Gould, and T Mitchell Aide. 2008. “Agricultural Abandonment, Suburban Growth, and Forest Expansion in Puerto Rico Between 1991 and 2000.” Ecology and Society 13 (2).
Pellegrino, Giuseppe, and Francesca Bellusci. 2014. “Effects of Human Disturbance on Reproductive Success and Population Viability of Serapias Cordigera (Orchidaceae).” Botanical Journal of the Linnean Society 176 (3): 408–20.
Rasmussen, Hanne N, Kingsley W Dixon, Jana Jersáková, and Tamara Těšitelová. 2015. “Germination and Seedling Establishment in Orchids: A Complex of Requirements.” Annals of Botany 116 (3): 391–402.
Rasmussen, Hanne N, and Dennis F Whigham. 1993. “Seed Ecology of Dust Seeds in Situ: A New Study Technique and Its Application in Terrestrial Orchids.” American Journal of Botany 80 (12): 1374–78.
Shaffer, Mark L, and Fred B Samson. 1985. “Population Size and Extinction: A Note on Determining Critical Population Sizes.” The American Naturalist 125 (1): 144–52.
Temple, Stanley A. 1977. “Plant-Animal Mutualism: Coevolution with Dodo Leads to Near Extinction of Plant.” Science 197 (4306): 885–86.
Torres, Ana Delia, Juan Manuel Cellini, Marı́a Vanessa Lencinas, Marcelo Daniel Barrera, Rosina Soler, Ricardo Dı́az Delgado, and Guillermo Martı́nez Pastur. 2015. “Seed Production and Recruitment in Primary and Harvested Nothofagus Pumilio Forests: Influence of Regional Climate and Years After Cuttings.” Forest Systems 24.
Tremblay, Raymond L, James D Ackerman, Jess K Zimmerman, and Ricardo N Calvo. 2005. “Variation in Sexual Reproduction in Orchids and Its Evolutionary Consequences: A Spasmodic Journey to Diversification.” Biological Journal of the Linnean Society 84 (1): 1–54.
Tremblay, Raymond L, Andrew J Tyre, Maria-Eglée Pérez, and James D Ackerman. 2021. “Population Projections from Holey Matrices: Using Prior Information to Estimate Rare Transition Events.” Ecological Modelling 447: 109526.
Whigham, Dennis F, John P O’Neill, Hanne N Rasmussen, Bruce A Caldwell, and Melissa K McCormick. 2006. “Seed Longevity in Terrestrial Orchids–Potential for Persistent in Situ Seed Banks.” Biological Conservation 129 (1): 24–30.
Xie, Yihui. 2015. Dynamic Documents with R and Knitr. 2nd ed. Boca Raton, Florida: Chapman; Hall/CRC. http://yihui.org/knitr/.
———. 2023. Bookdown: Authoring Books and Technical Documents with r Markdown. https://CRAN.R-project.org/package=bookdown.

  1. This is a footnote.↩︎

  2. The term matrix was introduced by the 19th-century English mathematician James Sylvester, but it was his friend the mathematician Arthur Cayley who developed the algebraic aspect of matrices in two papers in the 1850s. ↩︎

  3. kgjljgljhggjlhgjhgljgjhl↩︎